Wednesday, June 30, 2010

Lazy Admins and Notes Apps -' feed them to the wood chipper'

I am frustrated. I get emails like this all the time.

Hi

Mark,

Our Lotus Notes administrators block access to posting a new database on email server, such as the ITANA DB mentioned in your product write up....

I am using eProductivity template v2... and trying to get To Dos onto my iPhone.

Is there some way to run this locally or change mail template to include ITANA so I can update my iPhone?

Any other suggestions?

It reminds me of a video I watched yesterday. I did not create the video and have no idea who did.

Warning Language alert!



Friday, June 18, 2010

XPages Challenges with multiple data sources on one page, a UI example

I have a new project to write an expense report application. The requirements are a little different than normal, the users do not want dialog boxes for entries and they dont want to leave the page.

So i created an Xpage that is the expense form, it has the usual header information that this company likes. Then it has a data table to show the entries for each expense item. And it also has a form to enter new items in. Inside the data table is another form to edit that line item. This approach might look better in a grid format(excel style), but i have too little horizontal space for all my info. And of you course you could set edit mode to onclick of the row. This vertical style formatting of this app is because it will also be viewed for approval on iPhones.



Since the main expense form is open and in edit mode(document1 datasource) i leave all the settings for it alone.

For the form(document3 datasource) that actually enters new data in, i have to make some changes. In the properties of the panel that holds the data source for document3, i need to change the scope for the data to "request". That way after i save that document it sets that data source to a new document ready to be saved.




For the inside the data table edit form, i have to change some things as well. This datasource(document2), has to have the property "ignore request parameter", in the all properties panel under the datasource, set to true.



Why, i am not too sure, this data source is set to a document computed to edit document, with a computed docid, which is set by the button to edit that line item in the datatable. It all works now, it was just a little tedious finding out how to make it that way.

Tuesday, June 1, 2010

SQL Lite replication engine for HTML5(iPhone & Domino Data)

I have been working on ITANA to give it the ability to edit and add and delete records while offline. To do this i am using SQL lite as the data store for the iPhone or HTML5 enabled device. Then i "Replicate" it to the notes server via xhr requests.

Please help me with my logic, does this outline work? Am i missing something? What might be better?

Sql lite Replication engine


1. Get all documents from notes db and unids

2. For each notes doc check if local record exist

3. If local record exists check the last updated time of local record
and notes doc, if server doc is newer update local record, if the
local record is newer update the server record.

Check the delete status on the local record, if set to delete, delete
the server record and remove the local record.

4. If local record does not exist create one

5. Get all local records and unids.

6. Check if they exist on server, if local record has unid = new doc,
create doc on server and update the local record with real unid, else
delete the local record because it has been deleted on the server.