[xwiki-users] Questions about Blog Example
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
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 <[email protected]> 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
On 03/27/2012 11:36 PM, du du 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.
The XWiki platform is the one that handles most of the stuff. Document creation, editing and removal are platform features. An XWiki application will never have to issue database INSERT statements, and will rarely even have to manually use $doc.save() to trigger changes manually. Form data is sent to the /save/ action, which corresponds to a Struts action, and which is written in Java (SaveAction). If you go further down into the code, you'll go through XWikiDocument.readFromForm, XWiki.saveDocument, XWikiHibernateStore.saveXWikiDoc, and here you leave XWiki and go into other libraries like Hibernate, JDBC, C3P0. Please don't cross-post user questions to the devs list. -- Sergiu Dumitriu http://purl.org/net/sergiu/
Hi, you might find it simpler to look at this example to understand how an XWiki application works: http://platform.xwiki.org/xwiki/bin/view/DevGuide/FAQTutorial Guillaume On Wed, Mar 28, 2012 at 07:05, Sergiu Dumitriu <[email protected]> wrote:
On 03/27/2012 11:36 PM, du du 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.
The XWiki platform is the one that handles most of the stuff. Document creation, editing and removal are platform features. An XWiki application will never have to issue database INSERT statements, and will rarely even have to manually use $doc.save() to trigger changes manually.
Form data is sent to the /save/ action, which corresponds to a Struts action, and which is written in Java (SaveAction). If you go further down into the code, you'll go through XWikiDocument.readFromForm, XWiki.saveDocument, XWikiHibernateStore.**saveXWikiDoc, and here you leave XWiki and go into other libraries like Hibernate, JDBC, C3P0.
Please don't cross-post user questions to the devs list. -- Sergiu Dumitriu http://purl.org/net/sergiu/
______________________________**_________________ users mailing list [email protected] http://lists.xwiki.org/**mailman/listinfo/users<http://lists.xwiki.org/mailman/listinfo/users>
participants (3)
-
du du -
Guillaume Lerouge -
Sergiu Dumitriu