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<lucaa(a)xwiki.com> wrote:
Hi Dave,
>
> You should read
http://platform.xwiki.org/****xwiki/bin/view/DevGuide/**<http://platform…
>
Architecture<http://platform.**xwiki.org/xwiki/bin/view/**
>
DevGuide/Architecture<http://platform.xwiki.org/xwiki/bin/view/DevGuide/…e>>,
> 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/**Scriptin…
>
<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…
>
<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/De…
> Architecture#****HUnderstandinghowHTTPrequestsa****rehandled<
>
http://platform.**xwiki.org/xwiki/bin/view/**DevGuide/Architecture#**
>
HUnderstandinghowHTTPrequestsa**rehandled<http://platform.xwiki.org/xwik…d>>,
> 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<dddu88(a)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(a)xwiki.org