‘ekkes Express Charts': Export/Import Charts

January 30, 2014 — 6 Comments

ekkes Express Charts is an application to create charts on-the-fly and can be integrated into BlackBerry EXPRESS.

Here’s an Overview about the APP and HowTo download und use.

Export / Import Charts…

…with a little help of Cascades Invokation Framework

Images of your charts are stored at the folder you defined from App – Settings, so you can easy send them to your friends or colleagues. But what about the data and all the properties and colors you set to create a good looking chart ?

This data is stored inside your APP’s sandbox, so it’s a safe place, but you cannot access it from other applications or File Manager.

The good news: I implemented an easy way to transfer the data without making it public visible.

If your friend doesn’t know about ‘ekkes Express Charts’ you can invite him / her easy from Home Page Action Bar via BBM.

Here’s the workflow if you want to send the data to a friend or colleague:

1. Exporting

Viewing or editing a single chart data you can export this one from Action Bar – Overflow menu:

chart_data_overflow_menu_export

Sending more then one chart data you can do a long-press on the List Page and select all the charts you want to export:

IMG_00000801

ekkes Express Charts will collect the data, create an attachment and open a predefined  Message Composer:

IMG_00000802_msg_comp

…all is done inside the app using Invocation Framework. See here to learn about invoking Core Apps like Message Composer.

2. Importing

Now on the other side where your friend gets your email:

IMG_00000034imp_att

As described in the body the only thing he / she has to do: Tap on the attached file and …

… by magic ‘ekkes Express Charts’ will be opened – doesn’t matter if it’s already running or not – and display this dialog to the user:

IMG_00000035imp_dialog

You will see how many data charts were sent and get a list of the titles to be sure it’s the right import file.

The application will add them all to the list of charts and update the UI of the List Page – doesn’t matter which Page you’re just working on. Your current workflow won’t be interrupted.

How is this ‘by-magic-open-the-app-from-an-email-attachment‘ done ? Again it’s the Invokation Framework !

I added the information into the bar-descriptor.xml:

<invoke-target id="org.ekkescorner.YOUR_UNIQUE_ID_HERE">
    <invoke-target-type>application</invoke-target-type>
    <invoke-target-name>ekkes Express Charts Import Data</invoke-target-name>
    <icon>
        <image>icon.png</image>
    </icon>
    <filter>
        <action>bb.action.OPEN</action>
        <mime-type>*</mime-type>
        <property var="exts" value="eecimp"/>
        <property var="uris" value="file://,data://"/>
    </filter>
</invoke-target>

Now if you click on a file with extension .eecimp ekkes Express Charts will be invoked :)

In your app you can detect if the app was launched by the user or if the app was invoked and then do what you want to do.

I told you that the data transfer was safe letting you data private. How is this done ?

Inside the application – sandbox all data is stored as JSON. (I wrote about using JSON a blog entry here)

If you take a look at the content of the .eecimp file you’ll see something like this:

{
   "exportedCharts" : "AwPuJ1JzovCJXJ.....4os370QllfA=="
}

It’s a JSON, but I scrambled the content with a key known by my app. So your data is protected and my app, too because if someone creates a fake .eecimp file it will open the app, but I can simply detect that I have to ignore the content.

Over all you see: with a little help of Invokation Framework you can create smooth workflows – not only inside your app – also between two apps as I demonstrated here.

This was only the first part of using Invokation Framework inside ‘ekkes Express Charts’ – read more about invoking my app from BlackBerry EXPRESS or 3rd party apps here: (TBD)

Try it out and have FUN.

6 responses to ‘ekkes Express Charts': Export/Import Charts

  1. 

    can we invoke our app directly without saving file to the phone, my requirement is get the app invoke as soon as the uri with our extension clicked (like when we click on http:// link it will open browser directly)

    • 

      Sending an email with an attachment where the suffix is registered by an app (like my app does this) the attachment will be downloaded first before invoking the app from where I have access to the file content. best way to discuss this is in BlackBerry Developer Forum.

      • 

        Thank you for your response,yeah, you are right, i’m also doing the same, but i’m sharing with bbm while you are sharing with email attachment… do you have any idea of invoking our app as soon as the clicked on data shared or any file type.

  2. 

    I haven’t found a way to do this without file downloading, but because this was ok in my use-cases where I need the content of the file.
    , I didn’t spent much time on this.

  3. 

    Okay. If u get anything relating to this, share the same thing here

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s