On Sun, Jun 17, 2012 at 2:16 PM, sasinda rukshan <[email protected]> wrote: > Hi, > > Status Rept: > I reverse engineered the com.xpn.objects /.object.classes / .object.meta > packages. I think I understand it somewhat now. > I am making up my own simple design for the model classes. > I will soon post UML diagram with my design. Since XWiki ReST interfaces > are so robust I don't have to fill many of the attribute fields and > propertiest to post a blog post. > I will further experiment (Using Postman chrome plugin for ReST testing, > it's nice) before coming up with the class diagram. > > Questions: > 1) A page has its own class. When we make a new page a custom class gets > created. I checked the xml file for Blog.BlogIntroduction. It looked more > of a representation of a document object. Not a class definition. (It had > values defined. So can it be considered as a class def) ?
Well a better way to see it is that a document contains zero or one class and zero or several objects. Not every document really have a class. You always get an empty class when you ask for the class of a document for the same reason that you get an empty document when your as for a document that does not exists. > > 2) Is this idea correct? > I make a new page named NEWPAGE1 in Blog space. > page :is of class type Blog.NEWPAGE1. > can have objects of any type. > I posted a BlogPostClass object. But there are no restrictions to post > another BlogPostClass object. But only the first BlogPostClass object is > rendered when viewing the page. > > Shouldn't the page be of type BlogClass (extends BlogCode).? > So, > Shall I give a type for a document object. Something like > doc.setType(BlocClass.class); When this happens the document object > enforces type restrictions. Like only BlogPostClass objects should be in > the page and etc. > > I'll be happy to provide with clarifications If I said things very briefly. > I will design a uml class diag for this part and send before implementation > starts. > > > Thanks > Best Regards > Sasinda. > > > > > > > > Thank You > > > On Sat, Jun 16, 2012 at 10:31 PM, sasinda rukshan > <[email protected]>wrote: > >> Hi, >> I checked the source code.(still it would be helpful if u cn explain) >> I have a little issue. >> Say with the current model >> Blog.BlogPostClass >> properties|__DBTreeList category {has a list of attributes} >> |__TextAreaClass content {has a list of attributes} >> |__ MYType myComplexTypeProp {has a list of attributes >> which are all simple properties such as StringProperty etc} [ for >> ex:TagClass tagprop ] >> |__ StringClass mystring {also have a >> list of attributes. >> >> The XML schema >> >> <complexType name="Object"> >> <complexContent> >> <extension base="{http://www.xwiki.org}ObjectSummary"> >> <sequence> >> <element name="property" type="{http://www.xwiki.org}Property" >> maxOccurs="unbounded" minOccurs="0"/> >> </sequence> >> </extension> >> </complexContent> >> </complexType> >> >> <complexType name="Property"> >> <complexContent> >> <extension base="{http://www.xwiki.org}LinkCollection"> >> <sequence> >> <element name="attribute" type="{http://www.xwiki.org}Attribute" >> maxOccurs="unbounded" minOccurs="0"/> >> <element name="value" >> type="{http://www.w3.org/2001/XMLSchema}string"/> >> </sequence> >> <attribute name="name" use="required" >> type="{http://www.w3.org/2001/XMLSchema}string" /> >> <attribute name="type" >> type="{http://www.w3.org/2001/XMLSchema}string" /> >> </extension> >> </complexContent> >> </complexType> >> >> <complexType name="Attribute"> >> <complexContent> >> <extension base="{http://www.xwiki.org}LinkCollection"> >> <attribute name="name" use="required" >> type="{http://www.w3.org/2001/XMLSchema}string" /> >> <attribute name="value" >> type="{http://www.w3.org/2001/XMLSchema}string" /> >> </extension> >> </complexContent> >> </complexType> >> >> does not seem to be addressing such an occasion where multiple levels of >> nesting is happening. (May be I'm horribly wrong here) >> >> Am I correct to think that any type of Object like BlogPostClass obj will >> only have properties of simple types such as StringClass, TextAreaClass and >> etc. It will not have a complex type for example XWiki.TagClass in it.(I >> know it never happens in BlogPostClass, but don't know if someone needs to >> do a weird class). ? >> >> My findings and comprehension on the model: >> >> I guess StringClass, TextAreaClass etc, carry most of those many attributes >> for rendering purpose. I saw StaticListClass has attribute (separators) for >> defining the list value delimeters as well. >> >> Can you please post me a diagram taking a single class like DateClass. How >> the aggregations and inheritance is done. There is no such thing as inheritance with XWiki classes (yet). >> Ill send my design. I intend to do all that with just single definition >> for each XWiki data type classes.For ex: XString extends XObject.XObject >> contains the collection of fields.These can be converted to <attribute> >> elements. A Document Object will contain a BlogPost (represent >> BlobPostClass) object which contains XObject s as properties. (ideally if >> multiple levels of nesting is supported BlogPost should also be a XObject). >> The Document Object is an entity.(refer >> https://docs.google.com/drawings/d/1hwfQMVgCvYKS6iHU060drcET3Aq3Vles2DQlJOOt3n8/edit<https://docs.google.com/drawings/d/1hwfQMVgCvYKS6iHU060drcET3Aq3Vles2DQlJOOt3n8/edit?pli=1> >> ) >> When we persist a document object it should serialize the BLogPost class >> into its xml representation and save it on the filesystem. SQLite DB will >> have a row with the URI for that file. So I am not going to persist >> rest-model objects ( neither annotate them for persistence). Storing such >> bulk objects may degrade DB performance. In the android dev guides it is >> said a curser to a table should not exceed 2 MB of data otherwise the >> performance will be low due to paging. >> This makes the persistence a little complex. I will manage it. PLS tell if >> my approach is wrong. >> >> By the way I will merge my work to the master branch next week. Is it ok >> to duplicate your maven work to a mvn branch and undo the commit in master >> and merge my work with a fast forward merge, so that it will show a linear >> history. >> >> Thanks >> Best Regards. >> Sasinda Rukshan. >> >> >> >> >> >> >> >> On Sat, Jun 16, 2012 at 11:21 AM, sasinda rukshan < >> [email protected]> wrote: >> >>> Thanks very much for the help on maven build. >>> >>> *About making a object from Blog.BlogPostClass and toXML()* >>> >>> A blog object is having properties of type other xobject classes. So to >>> make the things general can we do a stripped down replication or make >>> something similer to the java classes in com.xpn.xwiki.objects and its 2 >>> sub packages .classes, .meta . >>> We can make a document object representing a page and put a >>> Blog.BlogPostClass object to its list of objects.We can convert them to >>> simple xml model directly.If we want to post blog object we can post the >>> Blog object.If the page does not exist we can put the page by getting the >>> xml from the Document object. >>> Then the things will be general not only for blog client app. Also we can >>> have Type checking when we don't directly manipulate simplexml objects. >>> i.e. XStringClass will define the attributes for it and likewise. >>> >>> I don't have a good idea on the above packages and classes. Specially why >>> there are three classes for each XType ex: StringProperty, StringClass, >>> StringMeta. >>> It will be helpful if you can give an explanation. >>> >>> My draft solution is to do some simple thing as, >>> XObject >>> |____ XBoolean >>> >>> XObject >>> |____XString >>> >>> XString has methods, >>> toEmbedXML gives a <property><attribute/>...</property> string/ >>> simpleXML objects >>> toXML gives <object><id><ClassName>.......</object> for the same thing. >>> >>> Also >>> XObject >>> |_____ XBlogPost for(BlogPostClass and other 2 Meta,Property >>> classes) >>> >>> I don't yet have a clear idea on this. May be I am wrong on this. >>> Can you give me your idea here as well. How to approach the problem and >>> what should the design be like? >>> >>> Thanks. >>> Best Regards >>> Sasinda. >>> >>> >>> >>> On Thu, Jun 7, 2012 at 9:28 PM, Thomas Mortagne < >>> [email protected]> wrote: >>> >>>> As just did a commit with last version of android plugin and some >>>> cleanup. Seems to work well. >>>> >>>> On Thu, Jun 7, 2012 at 12:19 PM, Thomas Mortagne >>>> <[email protected]> wrote: >>>> > BTW if you have quick questions it's probaly better to use IRC (I'm >>>> > tmortgane on the channel and I'm on GMT+2 tome zone but you can ask >>>> > anyone when I'm not around). See >>>> > http://dev.xwiki.org/xwiki/bin/view/Community/IRC. >>>> > >>>> > On Thu, Jun 7, 2012 at 12:17 PM, Thomas Mortagne >>>> > <[email protected]> wrote: >>>> >> Not need to send this kind of mail privately to me. >>>> >> >>>> >> On Thu, Jun 7, 2012 at 5:33 AM, sasinda rukshan >>>> >> <[email protected]> wrote: >>>> >>> Thanks, >>>> >>> The project is building perfectly well in eclipse (and runs well >>>> too) [I >>>> >>> configured the build paths for eclipse opening each module as a >>>> project and >>>> >>> giving project dependencies and etc.]. This is because android facet >>>> and >>>> >>> maven-android plugin for eclipse [m2e-android] (not the jayway >>>> androi maven >>>> >>> plugin)does not work together well. >>>> >>> Maven build does not work with newer jayway android maven plugins >>>> because of >>>> >>> the simplexml library. I checked with another helloworld app that >>>> does not >>>> >>> have simplexml dependancy and have simplexml dependancy. When we >>>> have the >>>> >>> dependancy it does not work. Also when packaged with the beta >>>> version maven >>>> >>> plugin I get runtime error logs notifying that the exact classes >>>> informed >>>> >>> missed in the compile time for newer maven plugin are missing. But >>>> the app >>>> >>> is running ok. >>>> >>> I will try with it some more and if I can't can you help me with it a >>>> >>> little. >>>> >> >>>> >> Sure If it's just related to simplexml it's probably not much. I will >>>> >> try to take a look today. At worst the version we are using right now >>>> >> is working fine so you can continue with it anyway. >>>> >> >>>> >>> >>>> >>> I looked at the Enterprise platform apis just to make my apis >>>> similar when >>>> >>> possible.Source code is not at all relevant to me. But as you say It >>>> will be >>>> >>> imperfect if I use its style heavily for the mobile version as well. >>>> >> >>>> >> Yes there is several issues here: >>>> >> * most APIs in oldcore module are old and bad and we are trying to get >>>> >> rif of them so better not getting too much attached to it ;) >>>> >> * they are designed to run in an enironment with lots of resources and >>>> >> don't care as much as a mobile API should about memory, etc. >>>> >> >>>> >>> >>>> >>> >>>> >>> Thank you. >>>> >>> Best Regards. >>>> >>> Sasinda. >>>> >>> >>>> >>> >>>> >>> On Wed, Jun 6, 2012 at 1:03 PM, Thomas Mortagne < >>>> [email protected]> >>>> >>> wrote: >>>> >>>> >>>> >>>> On Tue, Jun 5, 2012 at 7:07 PM, sasinda rukshan >>>> >>>> <[email protected]> wrote: >>>> >>>> > Hi, >>>> >>>> > *1: User Config Saving* >>>> >>>> > * >>>> >>>> > * >>>> >>>> > Xwiki android can now save user login data. >>>> >>>> > I refered >>>> >>>> > http://platform.xwiki.org/xwiki/bin/view/AdminGuide/AccessWiki. >>>> >>>> > Currently assuming the authority >>>> >>>> > >>>> >>>> > part(platform.xwiki.org< >>>> http://platform.xwiki.org/xwiki/bin/view/AdminGuide/AccessWiki>) >>>> >>>> > only >>>> >>>> > as a unique wiki identifier. But in the >>>> org.xwiki.android.entity.User I >>>> >>>> > have the method >>>> >>>> > setXWikiRealm(String url);: >>>> >>>> > Here I have intended the meaning realm as the url root path for a >>>> unique >>>> >>>> > wiki instance. >>>> >>>> > i.e. it should identify a wiki using path upto >>>> >>>> > http://host/xwiki/wiki/wikialias/ >>>> >>>> > But that functionality is not implemented.I just mailed this >>>> asking for >>>> >>>> > the >>>> >>>> > opinion wether the usage of word realm was right here. >>>> >>>> > Also do you have seperate users for wikis for path based wiki >>>> access.Or >>>> >>>> > are they the same with the main wiki *http://<host>/xwiki*. >>>> >>>> >>>> >>>> Both actually, you can have global users (which are the one on main >>>> >>>> wiki) and local users. >>>> >>>> >>>> >>>> > *2: Entity model* >>>> >>>> > * >>>> >>>> > * >>>> >>>> > About the convention for using C_ prefix for core entity tables. I >>>> >>>> > was referring to make the android versions of these entities >>>> >>>> > http://platform.xwiki.org/xwiki/bin/view/DevGuide/DatabaseSchemaand >>>> >>>> > start >>>> >>>> > there db prefixes with C_ >>>> >>>> > This is because other apps may need to store some specific tables >>>> needed >>>> >>>> > for them. Rather than having a seperate DB schema for them we can >>>> put >>>> >>>> > those >>>> >>>> > tables here as well prefixing them with <appname>_ . >>>> >>>> > I added more entities like User as well to the core entities(table >>>> >>>> > C_User).Also will implement a Log Entity(C_Log table) for logging >>>> some >>>> >>>> > important application activities(such as login attempts) But the >>>> Log may >>>> >>>> > be >>>> >>>> > a little additional weight to the space and performance.I may >>>> implement >>>> >>>> > a >>>> >>>> > generic DBCleaning service to clean the tables like Log, if I >>>> have time. >>>> >>>> > (Perhaps this description will resolve the confusion about the DB >>>> >>>> > conventions. Sorry I was not very clear in that earlier mail. >>>> ;-).) >>>> >>>> > >>>> >>>> > I am sorry to say I am somewhat confused with all those entities >>>> in >>>> >>>> > http://platform.xwiki.org/xwiki/bin/view/DevGuide/DatabaseSchema. >>>> >>>> >>>> >>>> The XWiki model is based on generic classes and objects wich is why >>>> >>>> you see lots of tables (class properties, object properties , etc.). >>>> >>>> There is no table for users for example, its an object of class >>>> >>>> XWiki.XWikiUsers. >>>> >>>> >>>> >>>> > >>>> >>>> > Any way to reduce my confusion >>>> >>>> > I refered >>>> >>>> > 1) XWiki Data >>>> >>>> > Model<http://platform.xwiki.org/xwiki/bin/view/DevGuide/DataModel >>>> > >>>> >>>> > : >>>> >>>> > can you give me a link to a documentation that explains the >>>> workflow >>>> >>>> > of >>>> >>>> > how a normal request is converted in to the requested page by the >>>> >>>> > bin View action . So I can get a better understanding of how >>>> classes , >>>> >>>> > objects are used. >>>> >>>> >>>> >>>> Not sure there is one. but basically you get either: >>>> >>>> * document content executed >>>> >>>> * if a class sheet is defined for one of the document objects >>>> classes, >>>> >>>> the class sheet is executed >>>> >>>> * if a document sheet is defined for the documment, the document >>>> sheet >>>> >>>> is executed >>>> >>>> >>>> >>>> That's pretty much all, then is a matter of free script and wiki >>>> >>>> syntax to actually display the content. >>>> >>>> >>>> >>>> > 2) package com.xpn.xwiki.api: I don't need to consider this, do >>>> I? >>>> >>>> >>>> >>>> That's limited scripting API so you should not consider this. >>>> >>>> >>>> >>>> > 3) >>>> >>>> > Cache< >>>> http://extensions.xwiki.org/xwiki/bin/view/Extension/Cache+Module> >>>> >>>> > : Need not implement similar component. Android OS does it >>>> nicely for >>>> >>>> > the >>>> >>>> > REST responses >>>> >>>> > but still don't have a clear picture on this. >>>> >>>> > To save a blog doc >>>> >>>> > option 1)Seems like I have to convert a document entity to >>>> relevent >>>> >>>> > xwiki-model-simplexml entities and send to server. >>>> >>>> > option 2) We also can edit the relevent simplexml model object >>>> fields >>>> >>>> > directly. (Looks a bad option to me.It does not hide the >>>> complexity of >>>> >>>> > lower levels for the client layer.Anyway my work load is reduced >>>> with >>>> >>>> > opt:2 ;-)) >>>> >>>> >>>> >>>> IMO you should not even look at >>>> >>>> http://extensions.xwiki.org/xwiki/bin/view/Extension/Cache+Moduleand >>>> >>>> instead look at how caching is usually done in Android. The idea is >>>> >>>> not to port the xwiki-platform to Android IMO but to follow Android >>>> >>>> standards to provide a library to manipulate XWiki model. >>>> >>>> >>>> >>>> You can set the annotation you want to the simplexml model but the >>>> >>>> classes/methods should remain an exact copy of what's on >>>> >>>> xwiki-platform-rest-model. The idea being that we could decide to >>>> >>>> change the implementation from simplexml to anything (JAXB, gson, >>>> >>>> etc.) without breaking anything. >>>> >>>> >>>> >>>> > >>>> >>>> > >>>> >>>> > *3: Development/architectural approach Change* >>>> >>>> > * >>>> >>>> > * >>>> >>>> > I was first thinking for a addon like architecture for the XWiki >>>> android >>>> >>>> > app. We have the client.Main app (with all platfrom libs >>>> included) and >>>> >>>> > Blog >>>> >>>> > app as a seperate apk. >>>> >>>> > But here Blog app will need to have the platform lib also. That >>>> would be >>>> >>>> > a >>>> >>>> > complete waste of space. But dynamically extending the app is lot >>>> >>>> > easier. >>>> >>>> > The client.Main app can add the activities defined in other apks >>>> in to >>>> >>>> > its >>>> >>>> > launcher interface using android PackageManager class. >>>> >>>> > >>>> >>>> > >>>> http://stackoverflow.com/questions/9236803/android-build-an-application-that-supports-add-ons >>>> >>>> > But with this approach rises additional complexities. For example >>>> naming >>>> >>>> > conflicts in the Components library module when two apps have the >>>> same >>>> >>>> > library with same activities defined. Sync issues etc etc.... >>>> >>>> > So we will go with single .apk approach. >>>> >>>> > When going with single .apk we dont need a content provider to >>>> share >>>> >>>> > config/ preferences data. So sharing module is now not needed. The >>>> >>>> > client >>>> >>>> > applications now can directly access the Configuration.java class >>>> to >>>> >>>> > get/put configuration entries. >>>> >>>> > Also since I am having a User entity a configuration like >>>> >>>> > defaultUser(currently the admin user , hard coded in login.xml >>>> layout >>>> >>>> > file) >>>> >>>> > will only be needed for the first use of the app. Otherwise users >>>> need >>>> >>>> > not >>>> >>>> > configure a default user as the application now suggests the user >>>> names >>>> >>>> > and >>>> >>>> > automatically fill the rest. >>>> >>>> >>>> >>>> Keep in mind that the main goal of this project is to provide tools >>>> >>>> for any application to access an XWiki instance and manipulate its >>>> >>>> datas easily an improving those libraries should always be the first >>>> >>>> goal. Your blog application is here as a good demo and because it's >>>> >>>> hard to design a library without using it. >>>> >>>> >>>> >>>> I really don't understand why you talk about naming conflict. Of >>>> >>>> course a library should never provide a complete final activity but >>>> >>>> only interface components (View), fragments or base activities to >>>> >>>> extend. Putting those elements in an activity is each application >>>> job. >>>> >>>> An activity is by definition unique so it has nothing to do in a >>>> >>>> library. The complete activities in >>>> >>>> >>>> >>>> >>>> https://github.com/xwiki-contrib/android-client/tree/master/xwiki-android-components/ >>>> >>>> should have never been there, it's actually a mistake. >>>> >>>> >>>> >>>> > >>>> >>>> > *4: Plan for this week* >>>> >>>> >>>> >>>> As a priority you should really merge your branch as soon as you >>>> have >>>> >>>> something building fine. So that it goes through Jenkins and deploy >>>> >>>> snapshot build of what you do. Jenkins will tells you in live when >>>> >>>> your project does not build anymore or if there is any test failing >>>> >>>> and it allows anyone to very easily test the current test of the >>>> >>>> client just by installing the apks on >>>> >>>> http://maven.xwiki.org/snapshots/org/xwiki/android/. You need to >>>> have >>>> >>>> something working and in good shape to succeed the GSOC so fixing >>>> when >>>> >>>> you break something in your build should be your priority over >>>> adding >>>> >>>> more features. >>>> >>>> >>>> >>>> Also as I commented in your commit you should be more careful on >>>> what >>>> >>>> you commit. There is many binaries and Eclipse stuff in your branch. >>>> >>>> >>>> >>>> > * >>>> >>>> > * >>>> >>>> > Make a launch pad .We can launch XWiki Navigator, blog etc from >>>> this. >>>> >>>> > The >>>> >>>> > launch pad is shown when we launch XWiki main client. >>>> >>>> > Consider adding the WYSIWYG to my blog. It will be useless >>>> without the >>>> >>>> > ability to convert text formatting to xwiki syntax.So I may just >>>> >>>> > integrate >>>> >>>> > it and ignore the uselessness for now. >>>> >>>> >>>> >>>> Not exactly, you could actually reuse WYSIWYG service to send html >>>> and >>>> >>>> let it convert it to wiki syntax. Note that you are not limited to >>>> >>>> what you can find in the current Android library. This is just what >>>> >>>> Chamika had the time to do. There is others REST (or not REST) >>>> server >>>> >>>> interfaces you can use in your client or even add more if its >>>> generic >>>> >>>> enough and make sense for something else than just Android client. >>>> >>>> >>>> >>>> > We currently don't have any config to save( Other than default >>>> user) >>>> >>>> > config. I will add some demo config data and have a developer >>>> tools app >>>> >>>> > added to the above mentioned XWiki launch pad that can view/edit >>>> the >>>> >>>> > config >>>> >>>> > file. >>>> >>>> > >>>> >>>> > That will complete milestone 1. But it is not the Sharing >>>> >>>> > module(intended >>>> >>>> > to share data with other .apks).That is the configuration >>>> component does >>>> >>>> > not have a ContentProvider to share config data with other apks. >>>> Also I >>>> >>>> > will define a seperate class to have preferences which will be >>>> edited by >>>> >>>> > users. Config files are for configuration stuff and will be >>>> edited by >>>> >>>> > developers. Users have preferences files(natively supported by >>>> android) >>>> >>>> > to >>>> >>>> > change app preferences. For example users will add the default >>>> login >>>> >>>> > username as a preference.(This will invalidate the use of default >>>> User >>>> >>>> > entry in the config file which is used until the user edits his >>>> >>>> > preferences) >>>> >>>> >>>> >>>> I'm fine with not sharing datas between applications but it does not >>>> >>>> prevent the libraries to provide tools to manage those datas in a >>>> per >>>> >>>> application basis. >>>> >>>> >>>> >>>> > >>>> >>>> > Beg your pardon if the mail is too lengthy.;-) >>>> >>>> >>>> >>>> No problem, never too much information for this ;) >>>> >>>> >>>> >>>> > Thank you. >>>> >>>> > Best Regards. >>>> >>>> > >>>> >>>> > Sasinda Rukshan. >>>> >>>> > >>>> >>>> > >>>> >>>> > Best Regards. >>>> >>>> > >>>> >>>> > >>>> >>>> > On Wed, May 30, 2012 at 1:11 PM, Thomas Mortagne >>>> >>>> > <[email protected]>wrote: >>>> >>>> > >>>> >>>> >> On Wed, May 30, 2012 at 4:28 AM, sasinda rukshan >>>> >>>> >> <[email protected]> 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-projects.html >>>> >>>> >> > 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.xdroid >>>> >>>> >> ). >>>> >>>> >> >>>> >>>> >> > >>>> >>>> >> > Thanks, >>>> >>>> >> > Best Regards >>>> >>>> >> > >>>> >>>> >> > Sasinda. >>>> >>>> >> > >>>> >>>> >> > >>>> >>>> >> > >>>> >>>> >> > >>>> >>>> >> > >>>> >>>> >> > On Wed, May 30, 2012 at 7:42 AM, sasinda rukshan >>>> >>>> >> > <[email protected]>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 < >>>> >>>> >> [email protected]>wrote: >>>> >>>> >> >> >>>> >>>> >> >>> On Fri, May 25, 2012 at 1:25 AM, Jerome Velociter < >>>> >>>> >> [email protected] >>>> >>>> >> >>> >wrote: >>>> >>>> >> >>> >>>> >>>> >> >>> > On Thu, May 24, 2012 at 6:09 PM, Thomas Mortagne >>>> >>>> >> >>> > <[email protected]> wrote: >>>> >>>> >> >>> > > On Thu, May 24, 2012 at 5:52 PM, sasinda rukshan >>>> >>>> >> >>> > > <[email protected]> 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#HXWikiAndroidDevelopmentAPIsandResources >>>> >>>> >> >>> > . >>>> >>>> >> >>> > > >>>> >>>> >> >>> > >> |-- 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 >>>> >>>> >> >>> > >> [email protected] >>>> >>>> >> >>> > >> http://lists.xwiki.org/mailman/listinfo/devs >>>> >>>> >> >>> > > >>>> >>>> >> >>> > > >>>> >>>> >> >>> > > >>>> >>>> >> >>> > > -- >>>> >>>> >> >>> > > Thomas Mortagne >>>> >>>> >> >>> > > _______________________________________________ >>>> >>>> >> >>> > > devs mailing list >>>> >>>> >> >>> > > [email protected] >>>> >>>> >> >>> > > http://lists.xwiki.org/mailman/listinfo/devs >>>> >>>> >> >>> > >>>> >>>> >> >>> > >>>> >>>> >> >>> > >>>> >>>> >> >>> > -- >>>> >>>> >> >>> > Jérôme Velociter >>>> >>>> >> >>> > Winesquare >>>> >>>> >> >>> > http://www.winesquare.net/ >>>> >>>> >> >>> > _______________________________________________ >>>> >>>> >> >>> > devs mailing list >>>> >>>> >> >>> > [email protected] >>>> >>>> >> >>> > http://lists.xwiki.org/mailman/listinfo/devs >>>> >>>> >> >>> > >>>> >>>> >> >>> _______________________________________________ >>>> >>>> >> >>> devs mailing list >>>> >>>> >> >>> [email protected] >>>> >>>> >> >>> http://lists.xwiki.org/mailman/listinfo/devs >>>> >>>> >> >>> >>>> >>>> >> >> >>>> >>>> >> >> >>>> >>>> >> > _______________________________________________ >>>> >>>> >> > devs mailing list >>>> >>>> >> > [email protected] >>>> >>>> >> > http://lists.xwiki.org/mailman/listinfo/devs >>>> >>>> >> >>>> >>>> >> >>>> >>>> >> >>>> >>>> >> -- >>>> >>>> >> Thomas Mortagne >>>> >>>> >> _______________________________________________ >>>> >>>> >> devs mailing list >>>> >>>> >> [email protected] >>>> >>>> >> http://lists.xwiki.org/mailman/listinfo/devs >>>> >>>> >> >>>> >>>> > _______________________________________________ >>>> >>>> > devs mailing list >>>> >>>> > [email protected] >>>> >>>> > http://lists.xwiki.org/mailman/listinfo/devs >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> -- >>>> >>>> Thomas Mortagne >>>> >>> >>>> >>> >>>> >> >>>> >> >>>> >> >>>> >> -- >>>> >> Thomas Mortagne >>>> > >>>> > >>>> > >>>> > -- >>>> > Thomas Mortagne >>>> >>>> >>>> >>>> -- >>>> Thomas Mortagne >>>> >>> >>> >> > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs -- Thomas Mortagne _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

