---------- Forwarded message ----------
From: sasinda rukshan <sasindarukshan(a)gmail.com>
Date: Mon, Jun 18, 2012 at 2:56 PM
Subject: Re: [xwiki-devs] [GSoc] XDroid Platform
To: XWiki Developers <devs(a)xwiki.org>
Hi Thomas,
Thanks for the explanations.
The methods toXML , toEmbedXML are wrong.It was just an idea that came up
without much thinking. I will use a separate model
converter.(xwikitTosimpleModelConverter implements ModelConverter like
thing). So the model objects don't know about it at all.
By what you ment by "user" I think it is the client app developer is it?
you did not mean end user. I never reveal the xml representations to end
users.
I came up with a simpler design. I will post diagram later tomorrow.
To give a brief on it,
XObject : has protected property List<XProperty>
|__XPoperty :<< all objects that can be added as a property of an objects
should extend this. Has an attribute list. cancels the
| property list of XObject
| |_____XString :
|__Abstract XDocObject :<< all documents should have an object of this.
This is the pages class. Has a object List<XObject>
| |____XBlog :<< all documents which are blogs should
have a object of this. This determines the class of the object.
| but this data is not posted
anywhere in <link rel="...../class"> . It is just kept for type checks.
That is like
| this page should include
XBlogPost objects.
|__XBlogPost : <<the BlogPostClass object.
In my view I assume every page has an object of some class. And this object
holds the objects which you can get under .../pages/BlogPg1/objects/
[
an added advantage:
I think we can make a ViewEngine to generate android View components from
the above model. Since the objects in the page carry rendering
descriptions.We can make a general model like a browser to
brows xwiki using generated the views. But the problem is some features in
specific spaces like blog do not seem to be totally defined by the XWiki
Object model behind them. Also this is just an idea (not suggesting I do
for the GSoc).Making it a usable reality is a little challenge.
]
So as you said if a document (I think it equivalent to a page) can have
many class types my assumption fails.
Why should a document be of multiple classes. I was thinking a page belongs
to a class. And the page is an instance of that class. If page can have
multiple classes my understanding should be wrong. Isn't it?
Thanks
Best Regards
Sasinda.
>>>
>>>> > On Wed, May 30, 2012 at 1:11 PM, Thomas Mortagne
>>> >>>> > <thomas.mortagne(a)xwiki.com>wrote;wrote:
>>> >>>> >
>>> >>>> >> On Wed, May 30, 2012 at 4:28 AM, sasinda rukshan
>>> >>>> >> <sasindarukshan(a)gmail.com> wrote:
>>> >>>> >> > Hi,
>>> >>>> >> > I am studying ORM Lite these days.
>>> >>>> >> > Please It would be comforting if you can
confirm whether it
is
>>> worth
>>> >>>> >> > the
>>> >>>> >> > overhead to use ORM Lite.
>>> >>>> >> >
>>> >>>> >>
>>> >>>> >>
>>>
http://logic-explained.blogspot.com/2011/12/using-ormlite-in-android-projec…
>>> >>>> >> >
http://ormlite.com/
>>> >>>> >> > ORM Lite features:
>>> >>>> >> > Automatically Creates standard DAOs for an
annotated entity.
>>> >>>> >> > Coding will be lot easier.
>>> >>>> >>
>>> >>>> >> Remember it's a framework for a mobile platform
so it has to
>>> remain
>>> >>>> >> light and have good performances. I can see that
Android
version
>>> of
>>> >>>> >> ormlite is very small but I never used it so I
don't know if
>>> it's good
>>> >>>> >> or not. At least it seems petty active which is a
good point
so I
>>> >>>> >> don't
have anything against it.
>>> >>>> >>
>>> >>>> >> >
>>> >>>> >> > Can you suggest how to name the entities.
>>> >>>> >> > I am going to go with,
>>> >>>> >> > <entity> org.xwiki.xdroid.data.User
--> <table> C_USER
>>> >>>> >>
>>> >>>> >> Note that there is already a package name prefix
and group id
>>> defined
>>> >>>> >> for the framework and it's org.xwiki.android as
you can see on
>>> >>>> >>
https://github.com/xwiki-contrib/android-client.
Why do you
>>> want to
>>> >>>> >> change it ? It's more consistent with
>>> >>>> >>
org.xwiki.commons/org.xwiki.rendering/org.xwiki.platform so I
>>> would
>>> >>>> >> prefer to keep it that way unless you can give
arguments. The
>>> goal is
>>> >>>> >> not to redo something completely but complete and
improve the
>>> existing
>>> >>>> >> framework.
>>> >>>> >>
>>> >>>> >> Also as far as I can see there is already several
things
called
>>> >>>> >>
"xdroid" on Google play among which an application developer
>>> >>>> >>
(
https://play.google.com/store/apps/developer?id=x-droid)
and an
>>> >>>> >> application
(
>>> >>>> >>
>>> >>>> >>
>>>
https://play.google.com/store/apps/details?id=com.gurudigitalsolutions.xdro…
>>> >>>> >> ).
>>> >>>> >>
>>> >>>> >> >
>>> >>>> >> > Thanks,
>>> >>>> >> > Best Regards
>>> >>>> >> >
>>> >>>> >> > Sasinda.
>>> >>>> >> >
>>> >>>> >> >
>>> >>>> >> >
>>> >>>> >> >
>>> >>>> >> >
>>> >>>> >> > On Wed, May 30, 2012 at 7:42 AM, sasinda
rukshan
>>> >>>> >> > <sasindarukshan(a)gmail.com>wrote;wrote:
>>> >>>> >> >
>>> >>>> >> >> Hi,
>>> >>>> >> >>
>>> >>>> >> >> I am commiting my work to my fork
>>> >>>> >> >>
https://github.com/sasinda/android-client.
>>> >>>> >> >> I ll request to pull it to xwiki-contrib
later.
>>> >>>> >> >>
>>> >>>> >> >> I was running in a wrong path these days.
Wanted to save
login
>>> >>>> >> >>
history
>>> >>>> >> and
>>> >>>> >> >> suggest login. I was going to do it using
an xml file
(login
>>> >>>> >>
attempts.xml).
>>> >>>> >> >> Now it seems database is better.
>>> >>>> >> >> Any way before I go wrong again I will say
what I am going
to
>>> do.
>>> >>>> >> >> I am going to enforce following
conventions.These are not
yet
>>> >>>> >> >>
needed,
>>> >>>> >> >> considered the small scale.But when the
system grows it
would
>>> be
>>> >>>> >> >> nice to
>>> >>>> >> >> have them to avoid confusions.
>>> >>>> >> >> *Database prefixes for:*
>>> >>>> >> >> *Platform tables (can begin with
appropriate prefix)*
>>> >>>> >> >> AD_ //application dictionary : don't
know when it will be
>>> needed ;-)
>>> >>>> >> >> C_ //core functionality
>>> >>>> >> >> *Client Applications.*
>>> >>>> >> >> X<App name prefix> ex: XBLOG_ for
Blog app// All client
>>> add in
>>> >>>> >> modules
>>> >>>> >> >> must begin with table prefix X(for xwiki
and ordering) +
App
>>> name.
>>> >>>> >> This is
>>> >>>> >> >> for my blog.
>>> >>>> >> >>
>>> >>>> >> >> I will create
>>> >>>> >> >> C_User for user data.
>>> >>>> >> >> C_LoginAttempt for saving login
attempts.
>>> >>>> >> >>
>>> >>>> >> >> From C_LoginAttempt I can filter uniqe
login combinations
and
>>> give
>>> >>>> >> >> suggestions in the login UI component.
Also save the
history.
>>> >>>> >> >>
>>> >>>> >> >> All saved data for blog app will be linked
to a perticular
>>> login :
>>> >>>> >> >> User,
>>> >>>> >> >> XWiki server.
>>> >>>> >> >> But only a single user will be most
probably using his
>>> personal
>>> >>>> >> >> device.
>>> >>>> >> So
>>> >>>> >> >> above will be relevant only when he has
multiple wikis.
>>> >>>> >> >>
>>> >>>> >> >> Best Regards,
>>> >>>> >> >> Sasinda Rukshan.
>>> >>>> >> >>
>>> >>>> >> >>
>>> >>>> >> >>
>>> >>>> >> >>
>>> >>>> >> >>
>>> >>>> >> >> On Sun, May 27, 2012 at 5:43 PM, Chamika
Weerasinghe <
>>> >>>> >> chamikaw(a)gmail.com>wroteote:
>>> >>>> >> >>
>>> >>>> >> >>> On Fri, May 25, 2012 at 1:25 AM,
Jerome Velociter <
>>> >>>> >> jerome(a)winesquare.net
>>> >>>> >> >>> >wrote:
>>> >>>> >> >>>
>>> >>>> >> >>> > On Thu, May 24, 2012 at 6:09 PM,
Thomas Mortagne
>>> >>>> >> >>> > <thomas.mortagne(a)xwiki.com>
wrote:
>>> >>>> >> >>> > > On Thu, May 24, 2012 at 5:52
PM, sasinda rukshan
>>> >>>> >> >>> > >
<sasindarukshan(a)gmail.com> wrote:
>>> >>>> >> >>> > >> Hi all,
>>> >>>> >> >>> > >> I am starting this
thread for my XWiki Android
Platform
>>> >>>> >>
>>> > >> Project.
>>> >>>> >> >>> > >>
>>> >>>> >> >>> > >> Please check whether
following are OK.
>>> >>>> >> >>> > >> [1] INFO
>>> >>>> >> >>> > >> I tried to start my new
modules with the
>>> >>>> >> >>> de.akquinet.android.archetypes:
>>> >>>> >> >>> > >>
android-quickstart:1.0.8. (added eclipse plugins
m2e,
>>> >>>> >>
>>> > >> m2e-android[a.k.a *Android
>>> >>>> >> >>> > >> Configurator* ]). But
this seems buggy in eclipse.
>>> >>>> >> >>> > >> Any way the earlier
project has not followed the
above
>>> >>>> >>
>>> > >> archtype
>>> >>>> >> >>> either.
>>> >>>> >> >>> > So
>>> >>>> >> >>> > >> I am going to write
pom.xml manually for my each
module.
>>> >>>> >>
>>> > >>
>>> >>>> >> >>> > >> [2] ADVICE NEEDED
>>> >>>> >> >>> > >> xwiki-rest-model module
contains 2 submodules
>>> >>>> >> >>> > >> |--
xwiki-rest-model-gson ( gson should be
corrected
>>> to
>>> >>>> >> >>> > >> json)
>>> >>>> >> >>> > >
>>> >>>> >> >>> > > No the g is not a mistake,
it's a model to be used
with
>>> the
>>> >>>> >> >>> > > gson
>>> >>>> >> >>> > > library
(
http://code.google.com/p/google-gson/). See
>>> >>>> >> >>> > >
>>> >>>> >> >>> >
>>> >>>> >> >>>
>>> >>>> >>
>>> >>>> >>
>>>
http://extensions.xwiki.org/xwiki/bin/view/Extension/Google+Android+Client#…
>>> >>>> >>
>>> > .
>>> >>>> >> >>> > >
>>> >>>> >> >>> > >> |--
xwiki-rest-model-simplexml
>>> >>>> >> >>> > >> I think the
xwiki-rest-model-gson is redundant. The
>>> classes
>>> >>>> >> >>> > >> in
xwiki-rest-model-simplexml is added with simple
xml
>>> >>>> >>
annotations,
>>> >>>> >> >>> > >> otherwise both modules
have same classes. There is no
>>> problem
>>> >>>> >> >>> > >> with
>>> >>>> >> >>> the
>>> >>>> >> >>> > >> added annotations for
using the same model objects
for
>>> Json
>>> >>>> >> >>> > >> REST
>>> >>>> >> web
>>> >>>> >> >>> > >> services. And I intend
to add my JPA (ORMLite library
>>> for
>>> >>>> >> >>> persistence)
>>> >>>> >> >>> > >> annotations on top of
it.
>>> >>>> >> >>> > >> Shall I re-factor them
to a single module
>>> xwiki-rest-model.
>>> >>>> >> >>> > >
>>> >>>> >> >>> > > No keep them separated, the
idea is that both are
useful
>>> tool
>>> >>>> >> >>> > > to be
>>> >>>> >> >>> > > used by someone else that
might be moved to
>>> xwiki-platform at
>>> >>>> >> >>> > > some
>>> >>>> >> >>> > > point along with the current
xwiki-rest-model (to be
>>> renamed to
>>> >>>> >> >>> > > xwiki-rest-model-jaxb).
>>> >>>> >> >>> > >
>>> >>>> >> >>> > > Chamika initially started
with gson and since XWiki
REST
>>> JSON
>>> >>>> >> >>> > > representation had some
limitation he moved to XML
>>> >>>> >> >>> > > representation.
>>> >>>> >> >>> > > Maybe at some point Android
will have native support
for
>>> jaxb
>>> >>>> >> >>> > > which
>>> >>>> >> >>> > > would obviously be the
easier for us (embedding jaxb
is
>>> not an
>>> >>>> >> option
>>> >>>> >> >>> > > in mobile world where size
it still pretty important
>>> especially
>>> >>>> >> >>> > > on
>>> >>>> >> >>> > > phones). Maybe it's
already the case on most recent
>>> versions
>>> >>>> >> >>> > > like
>>> >>>> >> 4.0
>>> >>>> >> >>> > > I don't know.
>>> >>>> >> >>> >
>>> >>>> >> >>> > There's also Jackson that
could be tried for JSON
>>> >>>> >> >>> > deserialization, if
>>> >>>> >> >>> > said limitations are actually
GSON limitations.
>>> >>>> >> >>> >
>>> >>>> >> >>> GSON wasn't the limitation.
>>> >>>> >> >>> It was XWiki RESTful API which
doesn't support JSON in
some
>>> cases.
>>> >>>> >> >>> So
>>> >>>> >> it's
>>> >>>> >> >>> safe to go with xml.
>>> >>>> >> >>>
>>> >>>> >> >>> >
>>> >>>> >> >>> > Having full JAXB support sound a
bit overweight for
such an
>>> >>>> >>
>>> > "embedded
>>> >>>> >> >>> > API", even if one day it is
natively supported by
Android.
>>> What's
>>> >>>> >> >>> > important is to have an easy and
fast deserialization,
IMO.
>>> >>>> >>
>>> > The only advantage I can see of going JAXB would be in
>>> re-using
>>> >>>> >> >>> > the
>>> >>>> >> >>> > exact representations and body
readers/writers from
XWiki
>>> core.
>>> >>>> >> >>> > But
>>> >>>> >> >>> > you probably don't even want
to do that since it would
mean
>>> >>>> >>
>>> > dragging
>>> >>>> >> >>> > XWiki core with you :)
>>> >>>> >> >>> >
>>> >>>> >> >>> > Jerome
>>> >>>> >> >>> >
>>> >>>> >> >>> > >
>>> >>>> >> >>> > >>
>>> >>>> >> >>> > >> [3] INFO
>>> >>>> >> >>> > >> I had to change some
pom.xml s. As the current
project
>>> at:
>>> >>>> >> >>> > >>
https://github.com/xwiki-contrib/android-client.gitdoes not
>>> >>>> >> build.
>>> >>>> >> >>> > Error
>>> >>>> >> >>> > >> with parent pom.xml
coordinates.
>>> >>>> >> >>> > >
>>> >>>> >> >>> > > You probably did not setup
you maven install properly
>>> since
>>> >>>> >> >>> > > what's
>>> >>>> >> on
>>> >>>> >> >>> > >
https://github.com/xwiki-contrib/android-client.gitbuild
>>> >>>> >> perfectly
>>> >>>> >> >>> as
>>> >>>> >> >>> > > you can see on
>>> >>>> >>
http://ci.xwiki.org/view/All/job/xwiki-android-client/
>>> >>>> >> >>> > > which run a build every time
something changes on the
git
>>> >>>> >>
repository..
>>> >>>> >> >>> > > You should look at
>>> >>>> >> >>> > >
http://dev.xwiki.org/xwiki/bin/view/Community/Building.
> >>>> >> >>> > >
> >>>> >> >>> > >>
> >>>> >> >>> > >>
> >>>> >> >>> > >> Thank you
> >>>> >> >>> > >> Best Regards.
> >>>> >> >>> > >> Sasinda Rukshan
> >>>> >> >>> > >>
_______________________________________________
> >>>> >> >>> > >> devs mailing list
> >>>> >> >>> > >> devs(a)xwiki.org
> >>>> >> >>> > >>
http://lists.xwiki.org/mailman/listinfo/devs
> >>>> >> >>> > >
> >>>> >> >>> > >
> >>>> >> >>> > >
> >>>> >> >>> > > --
> >>>> >> >>> > > Thomas Mortagne
> >>>> >> >>> > >
_______________________________________________
> >>>> >> >>> > > devs mailing list
> >>>> >> >>> > > devs(a)xwiki.org
> >>>> >> >>> > >
http://lists.xwiki.org/mailman/listinfo/devs
> >>>> >> >>> >
> >>>> >> >>> >
> >>>> >> >>> >
> >>>> >> >>> > --
> >>>> >> >>> > Jérôme Velociter
> >>>> >> >>> > Winesquare
> >>>> >> >>> >
http://www.winesquare.net/
> >>>> >> >>> >
_______________________________________________
> >>>> >> >>> > devs mailing list
> >>>> >> >>> > devs(a)xwiki.org
> >>>> >> >>> >
http://lists.xwiki.org/mailman/listinfo/devs
> >>>> >> >>> >
> >>>> >> >>>
_______________________________________________
> >>>> >> >>> devs mailing list
> >>>> >> >>> devs(a)xwiki.org
> >>>> >> >>>
http://lists.xwiki.org/mailman/listinfo/devs
> >>>> >> >>>
> >>>> >> >>
> >>>> >> >>
> >>>> >> > _______________________________________________
> >>>> >> > devs mailing list
> >>>> >> > devs(a)xwiki.org
> >>>> >> >
http://lists.xwiki.org/mailman/listinfo/devs
> >>>> >>
> >>>> >>
> >>>> >>
> >>>> >> --
> >>>> >> Thomas Mortagne
> >>>> >> _______________________________________________
> >>>> >> devs mailing list
> >>>> >> devs(a)xwiki.org
> >>>> >>
http://lists.xwiki.org/mailman/listinfo/devs
> >>>> >>
> >>>> > _______________________________________________
> >>>> > devs mailing list
> >>>> > devs(a)xwiki.org
> >>>> >
http://lists.xwiki.org/mailman/listinfo/devs
> >>>>
> >>>>
> >>>>
> >>>> --
> >>>> Thomas Mortagne
> >>>
> >>>
> >>
> >>
> >>
> >> --
> >> Thomas Mortagne
> >
> >
> >
> > --
> > Thomas Mortagne
>
>
>
> --
> Thomas Mortagne
>
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
--
Thomas Mortagne