You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@chemistry.apache.org by "Florian Müller (Assigned JIRA)" <ji...@apache.org> on 2012/02/23 08:40:35 UTC

[jira] [Assigned] (CMIS-507) OpenCMIS client for Android devices

     [ https://issues.apache.org/jira/browse/CMIS-507?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Florian Müller reassigned CMIS-507:
-----------------------------------

    Assignee: Florian Müller
    
> OpenCMIS client for Android devices
> -----------------------------------
>
>                 Key: CMIS-507
>                 URL: https://issues.apache.org/jira/browse/CMIS-507
>             Project: Chemistry
>          Issue Type: Improvement
>          Components: opencmis-client, opencmis-client-bindings, opencmis-commons
>    Affects Versions: OpenCMIS 0.6.0
>         Environment: All Android devices
>            Reporter: Jean Marie PASCAL
>            Assignee: Florian Müller
>              Labels: android, client, mobile, opencmis
>         Attachments: AndroidOpenCMISApplication.png, OpenCmisAndroid.png, chemistry-opencmis-android-0.1.0-SNAPSHOT.jar, chemistry-opencmis-android.zip
>
>
> Hello Chemistry,
> As new employee of Alfresco Mobile team, I just start a project to port OpenCMIS into Android devices.
> Indeed, OpenCMIS as is doesn't work on android device due to the fact that Android SDK is different than JDK. They share some common package but clearly not all and clearly not all for using OpenCMIS in android.
> So after few days of work, I created a "partial/draft" client version of OpenCMIS called chemistry-opencmis-android.
> What's chemistry-opencmis-android ?
> It's a maven project that create an android opencmis client into a single jar file : chemistry-opencmis-android.jar
> This library is a merge of  opencmis-client-* and opencmis-commons-* dependencies into one jar. Some of them have been modified (More informations below).
> The project has 2 external dependencies : android.jar (for specific android dependencies) and simple-json (browser binding)
> I tested this project into Ice Cream Sandwich and Honeycomb android device. Major part of opencmis services (repository, navigation, object...) works pretty well but there are still some "functional holes" (extension parameters, ACL, versionning...). Yes it's draft version :)
> What I did...
> In general, 
>  - Merged opencmis-client-* and opencmis-commons-* package into one.
>  - removed all webservices binding references
>  - removed jaxb dependency (replaced it by opencmis data object)
>  - modified atompubparser to use xmlpullparser provided by android.
>  - commented or deleted all external dependencies that was not provided by android like commons-logging, osgi...
> In details,
> - chemistry-opencmis-commons-api : 
>  --- add a file : AtomPropertyType.java
> - chemistry-opencmis-commons-impl :
>  --- remove converter, JaxbHelper files and tube packges
>  --- add AtomPubConverter
> - chemistry-opencmis-client-api : nothing
> - chemistry-opencmis-client-impl
>  --- remove osgi package
> - chemistry-opencmis-client-bindings
>  --- deleted webservices + local package 
>  --- removed commons-logging and jaxb dependencies
>  --- rewrite atompubparser and atomentrywriter to use xmlpullparser
>  --- rewrite all services to use only opencmis object
>  --- create an atompubconverter : to create opencmis object after a parsing phase
> So my final questions : 
> What do you think about this approach ?
> and if it's correct could I share, contribute and improve this version into chemistry and have some extra dev hands to help me in this task ?
> And the last How to build my project ?
> You need 
>  - maven 3.x + 
>  - android.jar as artifact in your maven repository. I used https://github.com/mosabua/maven-android-sdk-deployer to deploy android sdk into my local repository
> then simply run a mvn install. You will have a single jar that you can incorporate to any android application as any dependency.
> Thanks for all.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira