DCTMMobile application

Finally I got to re-do my android application (almost) from scratch. I’ve used (again) AndroidStudio, but this time instead of using GSON to parse the responses I decided to use the sample client provided by EMC (Documentum REST Java Client Code Sample) I wanted to use the already-done read/write functionality, but things weren’t so simple. Sure, the client works fine as a Java standalone but I’ve found that the Spring RestTemplate doesn’t play well with Android when using Jackson/Jaxb (meaning I was unable to make it work :P), so I end up using the DQL query service to modify/update attributes as I did before.

Of course, executing an updated DQL is not an OOTB function, as the REST Services doesn’t allow write queries, but you can easily modify this behaviour (Customizing/Extending REST services). If you use the OOTB REST Services you’ll get notifications indicating that only read queries are supported when performing an update operation.

I’ve tested the application with 2.3, 3.2, 4.0 and 4.4 android emulators, and it seems that works just fine (except downloading files in <4.x), so feel free to test it

DCTMMobile at GooglePlay: DCTMMobile – Android Apps on Google Play

More info about the app development in previous posts:

Android app using REST services
Android app using REST services (II)

Android app using REST services (II)

Some more info on this:

  • Environment:
    • Documentum 6.6P27/SQLServer
    • REST Services 7.0
  • App Development info:
    • App developed with AndroidStudio
    • Compatible with Android 4.x

Some tips/thoughts:

  • Stick to eclipse + android SDK instead of using AndroidStudio (unless until AndroidStudio is mature enough). You’ll save time and problems.
  • Programming in Android is a pain in the ass with so many different devices/versions. Apple and xCode wins there.
  • Mobile emulators requiere a huge amount of resources. Either find a test mobile phone or get a good development computer with at least 8gb RAM. I think the iPhone emulator runs better in iMacs than the android emulator in PC
  • The REST Services package doesn’t come with a POJO/BEAN implementation, so if you plan to use Java you’ll have to code those classes from scratch (boring) to parse the responses (maybe there’s a better/automatic way to do it)
  • The query service (used as a workaround to get the job info, as there is no job service) doesn’t allow write queries, so forget about updating objects/executing jobs on demand (unless you want to decompile some class and change some “startsWith(“select “)” to something else)
  • The REST services are quite fast, much much faster than DFS, consider this if you need to develop something new.

App updates:

  • Uses SQLite to store preferences
  • Remembers connection details
  • Added user list
  • You can choose what job / user attributes want to show in the details window

Screenshots

  • Login:

0101b02.png

  • Job options:

03.png

  • User options:

04.png

  • Job details:

05.png

  • User details:

06.png

TODO:

  • Modify user properties
  • Show/update document properties

 

 

Android app using REST services

I’ve been learning Android development by developing an App using DCTM Rest services to expose as much functionality as possible from DA. Currently I have a working repository browser and job list/details app, that works via VPN (enabled in the phone by a 3rd app). This is just an example of what can be done with the Rest API released by EMC:

  • Login window:

001.png

  • Browser / Job choice:

002.png

  • Browser (Repository/cabinets/folders):

003.png004.png005.png

  • Open file:

006.png

  • Job list:

007.png

  • Job detail:

008.png

  • TODO:
    • Format Job details window
    • Use sqlite to store preferences/connection url
    • Cleanup code
    • Test new features:
      • User management
      • Job execution
      • Additional configurations