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