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