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. 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