Thanks, got it.
Dave

On Wed, Mar 28, 2012 at 10:49 PM, Sergiu Dumitriu <ser...@xwiki.com> wrote:

> On 03/28/2012 10:01 PM, du du wrote:
>
>> Hi, Anca,
>>
>> Thanks very much for your response, I understand how data are saved to
>> database now, but I got another question:
>>
>>  In the following code from BlogPostSheet
>> <dl>
>>   <dt>$msg.get('xe.blog.sheet.**title')</dt>
>>   <dd>$doc.display('title', 'edit', $entryObj)</dd>
>>   <dt>$msg.get('xe.blog.sheet.**content')</dt>
>>   <dd>$doc.display('content', 'edit', $entryObj)</dd>
>>   <dt>Feature ID:</dt>
>>    <dd>$doc.display('FID', 'view', $entryObj)</dd>
>>   <dt>Package ID:</dt>
>>     <dd>$doc.display('PID', 'view', $entryObj)</dd>
>>
>>   <div class="clearfloats"></div>
>>   </dd>
>>   </dl>
>>
>> If I change the 'view' to 'edit' for both FID and PID, then both of FID
>> and
>> PID will be saved to database, and I can query retrieve them, but I have
>> use view, then they are not saved to database. the problem is I donot want
>> these two fields editable, so I have to use view, any workaround for this?
>> so the bottom line is I want them to be saved to database and not editable
>> from the inline form.
>>
>
> 'view' display only prints those values as text, not as form elements, so
> it's normal that the values don't get back to the database. You should
> display them again with 'hidden' as the display mode, which will create
> hidden input elements with their current value.
>
> Still, I hope you're not using those parameters as something secure, since
> any attacker could just send any value he wants to the server; always make
> sure security is thoroughly implemented on the server, never trust data
> from the client.
>
>  Thanks again for your help.
>>
>> Dave
>>
>> On Wed, Mar 28, 2012 at 4:47 AM, Anca Luca<lu...@xwiki.com>  wrote:
>>
>>  Hi Dave,
>>>
>>> You should read 
>>> http://platform.xwiki.org/****xwiki/bin/view/DevGuide/**<http://platform.xwiki.org/**xwiki/bin/view/DevGuide/**>
>>> Architecture<http://platform.**xwiki.org/xwiki/bin/view/**
>>> DevGuide/Architecture<http://platform.xwiki.org/xwiki/bin/view/DevGuide/Architecture>>,
>>> but I understand that it might be cryptic for a first time usage so here
>>>
>>> we go:
>>> must know that xwiki is a java engine, so there is some java code that
>>> does things, it's not all done in velocity.
>>> Basically, there is a java "platform" that can handle documents, objects
>>> in documents, classes, etc (load, save) and then there is the velocity
>>> scripting that you can do in wiki pages which **uses** this core
>>> (injected
>>> variables like $xwiki, $doc). See here about how this scripting in pages
>>> works: http://platform.xwiki.org/****xwiki/bin/view/DevGuide/****
>>> Scripting<http://platform.xwiki.org/**xwiki/bin/view/DevGuide/**Scripting>
>>> <http://platform.**xwiki.org/xwiki/bin/view/**DevGuide/Scripting<http://platform.xwiki.org/xwiki/bin/view/DevGuide/Scripting>
>>> >.
>>>
>>> Also, there are some interesting information about the data model here
>>> http://platform.xwiki.org/****xwiki/bin/view/DevGuide/****DataModel<http://platform.xwiki.org/**xwiki/bin/view/DevGuide/**DataModel>
>>> <http://platform.**xwiki.org/xwiki/bin/view/**DevGuide/DataModel<http://platform.xwiki.org/xwiki/bin/view/DevGuide/DataModel>
>>> >.
>>>
>>>
>>> The 'platform' project on git contains all this 'platform' code: java
>>> sources, default templates, default js, css, etc, which you can enhance
>>> in
>>> wiki pages (but we don't do everything in wiki pages, so you should not
>>> look for it only in wiki pages).
>>>
>>> Also, there are a bunch of "default" velocity templates that handle the
>>> default layout and actions for the wiki (in the webapps/xwiki/templates
>>> folder of the installation). For example, the save and view button is
>>> generated by these templates, along with the url to which the data in the
>>> form is posted.
>>>
>>> I recommend firebug and LiveHttpheaders extensions of firefox to study
>>> what data is posted to which URL, etc what data is received. from then
>>> on,
>>> with the help of http://platform.xwiki.org/****
>>> xwiki/bin/view/DevGuide/**<http://platform.xwiki.org/**xwiki/bin/view/DevGuide/**>
>>> Architecture#****HUnderstandinghowHTTPrequestsa****rehandled<
>>> http://platform.**xwiki.org/xwiki/bin/view/**DevGuide/Architecture#**
>>> HUnderstandinghowHTTPrequestsa**rehandled<http://platform.xwiki.org/xwiki/bin/view/DevGuide/Architecture#HUnderstandinghowHTTPrequestsarehandled>>,
>>> you should be able to find the code that actually does the save.
>>>
>>>
>>> Have fun,
>>> Anca
>>>
>>>
>>> On 03/28/2012 05:42 AM, du du wrote:
>>>
>>>  Also from the following BlogPostSheet wiki code, after users type in
>>>> message from the inline form, users click Save&   View button, how are
>>>> the
>>>>
>>>> messages saved to database?
>>>> see the attached code:
>>>> {{include document="Blog.BlogCode"/}}
>>>>
>>>> {{include document="Blog.CategoriesCode"****/}}
>>>>
>>>>
>>>> {{velocity filter="none"}}
>>>> {{html clean="false" wiki="true"}}
>>>> $xwiki.jsx.use('Blog.****ManageCategories', {'mode' : 'select'})##
>>>> $xwiki.ssx.use('Blog.****ManageCategories')##
>>>>
>>>> #getEntryObject($doc $entryObj)
>>>> #if("$!entryObj" == '')
>>>>   #warning($msg.get('xe.blog.****sheet.notpost'))
>>>>
>>>> ## Keep testing the inline action for backward compatibility with older
>>>> blog posts.
>>>> #elseif($xcontext.action != 'edit'&&   $xcontext.action != 'inline')
>>>>   ## View mode
>>>>   #isPublished($entryObj $isPublished)
>>>>   #isHidden($entryObj $isHidden)
>>>>   ## displayBlog requires a list of documents, and whether to display
>>>> only
>>>> an extract or the full entry.
>>>>   #displayBlog([$tdoc] 'single' false false)
>>>> #else
>>>>   <dl>
>>>>   <dt>$msg.get('xe.blog.sheet.****title')</dt>
>>>>
>>>>   <dd>$doc.display('title', 'edit', $entryObj)</dd>
>>>>   <dt>$msg.get('xe.blog.sheet.****content')</dt>
>>>>
>>>>   <dd>$doc.display('content', 'edit', $entryObj)</dd>
>>>>   <dt>$msg.get('xe.blog.sheet.****summary')</dt>
>>>>
>>>>   <dd>$doc.display('extract', 'edit', $entryObj)</dd>
>>>>   <dt>$msg.get('xe.blog.sheet.****category')</dt>
>>>>   <dd>
>>>>   #****displayCategoryManagementTree(****'' 'selectable')
>>>>
>>>>   <div class="clearfloats"></div>
>>>>   </dd>
>>>>   </dl>
>>>>   #template('tagedit.vm')
>>>>   #isPublished($entryObj $isPublished)
>>>>   #if($isPublished)
>>>>     #if($doc.creator == $xcontext.user)
>>>>       #publishMessageBox($msg.get('****xe.blog.sheet.**
>>>> publicationdate'**,
>>>>
>>>> [${doc.display('publishDate', 'view', $entryObj)}]))
>>>>       #set($hideArticle = ${doc.display('hidden', 'edit', $entryObj)})
>>>>       #hideMessageBox($msg.get('xe.****blog.sheet.hidearticle',
>>>>
>>>> [${hideArticle}]))
>>>>     #end
>>>>   #else
>>>>     #set($defaultDate =
>>>> $xwiki.getDocument($****blogPostTemplate).getObject($***
>>>> *blogPostClassname).*
>>>> *getProperty('publishDate').****value.time)
>>>>     #if($entryObj.getProperty('****publishDate').value.time ==
>>>>
>>>> $defaultDate)
>>>>       ## The publish date was not set, force it to be the creation date
>>>>       $entryObj.set('publishDate', $doc.creationDate)
>>>>     #end
>>>>     #publishMessageBox("$msg.get('****xe.blog.sheet.notpublished')
>>>> <label>**$msg.get('xe.blog.****sheet.publish')
>>>> ${doc.display('published',
>>>> 'edit', $entryObj)}**</label>\\<label>****$msg.get('xe.blog.sheet.**
>>>>
>>>> setdate')
>>>> ${doc.display('publishDate', 'edit', $entryObj)}</label>")
>>>>   #end
>>>> #end
>>>> {{/html}}
>>>> {{/velocity}}
>>>>
>>>> Thanks
>>>> Dave
>>>>
>>>> On Tue, Mar 27, 2012 at 11:36 PM, du du<ddd...@gmail.com>   wrote:
>>>>
>>>>  Hi, all
>>>>
>>>>>
>>>>> I am studying the BlogClass, BlogPostClass, I checked the
>>>>> Blog.BlogCode,
>>>>> there are alot of velocity scripts, I can see the search documents from
>>>>> db,
>>>>> but could not find any code related to insert document records into
>>>>> database, so how is the document created from blog saved into database?
>>>>> please point me to the script code in the Blog.BlogCode.
>>>>>
>>>>> Thanks
>>>>>
>>>>> Dave
>>>>>
>>>>
> --
> Sergiu Dumitriu
> http://purl.org/net/sergiu/
> ______________________________**_________________
> users mailing list
> users@xwiki.org
> http://lists.xwiki.org/**mailman/listinfo/users<http://lists.xwiki.org/mailman/listinfo/users>
>
_______________________________________________
users mailing list
users@xwiki.org
http://lists.xwiki.org/mailman/listinfo/users

Reply via email to