By the way I added these two fields for testing.

Dave

On Wed, Mar 28, 2012 at 10:01 PM, du du <ddd...@gmail.com> 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>FID:</dt>
>    <dd>$doc.display('FID', 'view', $entryObj)</dd>
>   <dt>PID:</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.
>
> 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/**
>> 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>.
>> 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>.
>>
>> 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/**
>> 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
>>>>
>>> ______________________________**_________________
>>>
>>> users mailing list
>>> users@xwiki.org
>>> http://lists.xwiki.org/**mailman/listinfo/users<http://lists.xwiki.org/mailman/listinfo/users>
>>>
>>
>> ______________________________**_________________
>> devs mailing list
>> d...@xwiki.org
>> http://lists.xwiki.org/**mailman/listinfo/devs<http://lists.xwiki.org/mailman/listinfo/devs>
>>
>
>
_______________________________________________
users mailing list
users@xwiki.org
http://lists.xwiki.org/mailman/listinfo/users

Reply via email to