--
You received this message because you are subscribed to the Google Groups "openXdata Developers" group.
To post to this group, send email to openxd...@googlegroups.com.
To unsubscribe from this group, send email to openxdata-de...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/openxdata-dev?hl=en.
Thank you for taking the time to prepare more information about the work you have done on improving openXdata functionalities.
And we look forward to close collaboration as we move forward.
Without going into each of the functionalities you have described, I clearly see that you have a lot of improvements that are of value and that we should work on incorporating into openXdata. In earlier days we would have allowed these kind of contributions to be fairly directly merged in, but through the improvements of the community processes this last year, we want to ensure that we fold in contributions piece by piece according to community concensus and priorities and linked to individual tickets for each piece (that is a patch). This way features can be included, but we ensure transparency and documentation of what goes into each iteration and subsequent release.
What I hope we can do from here is to bring your group into the regular development process and iterations and through that fold in features and enhancements that the community agrees on to bring in.
I’ll get back separately on an experimental branch where you can upload the changes – though as mentioned this would not mean that all those changes are merged directly into trunk.
The next step from here would be that each of the changes and new functions you have done are made into tickets on trac and then for each of them a patch is created. Each of the tickets can then be prioritized in the backlogs – some of them may need additional discussions and adjustments based on concensus. Each patch will then be reviewed by another developer before it can be included. For larger changes you could create one parent ticket and then a number of subtickets to keep track of the larger picture.
I hope that this can be the start of a long running fruitful collaboration and it is always great to see groups like yours come in from the side and start contributing based on the needs and functions you come across.
Heartly welcome!
Best
Jørn
____________________________________________________________________________
Jorn Klungsoyr
openXdata - Centre for International Health, University of Bergen, Norway
www.openxdata.org / www.cih.uib.no / www.openrosa.org / www.open-mobile.org
Mobile: +4791365731, Skype/GoogleTalk: jornklung Alternative email: jorn.kl...@gmail.com
Post: Postboks 7800, 5020 Bergen, Visit: Årstadveien 21, 5th Floor, Bergen
------¤¤¤¤------
--
I just want to emphasize that we fully welcome your contributions and we would like to use this opportunity to bring your group into the development group so that we can synchronize the efforts and innovations :)
The process we now have been working on establishing is basically the same as is used by most major open source projects.
Best regards,
jørn
____________________________________________________________________________
Jorn Klungsoyr
openXdata - Centre for International Health, University of Bergen, Norway
www.openxdata.org / www.cih.uib.no / www.openrosa.org / www.open-mobile.org
Mobile: +4791365731, Skype/GoogleTalk: jornklung Alternative email: jorn.kl...@gmail.com
Post: Postboks 7800, 5020 Bergen, Visit: Årstadveien 21, 5th Floor, Bergen
------¤¤¤¤------
On 1/12/12, Dagmar Timler <diggi...@gmail.com> wrote:
> Hi
>
> To be clear about the process: anyone can create tickets and write patches.
> These patches will be reviewed and incorporated into the trunk, by the core
> team, when the requirements and code meet our standards.
>
It is true that anyone can create a ticket and write patches
as Donald said we were working with OpenXdata offline as a result the
source code have changed a lot on our side even though the
functionality remain the same. We removed what we seen as dead code
and what we seen as code doing something could be done by a more
appropriate class.
thinking that we will easy the Developer time to learn and do things
more easily.
If we could create a ticket for this it could introduce some overhead
to programmers that is why we ask you guys to give us a place where we
can upload the source code and developer review them and give their
feed back!
> If you need some functionality in the trunk and have someone who can
> develop the change, it is simple. You should join the process by creating a
> ticket and patch for review.
>
I have not understood your point here! did you mean that we were not
supposed to touch the source code and do some programming instead we
were required to raise a need and you guys develop that need! if so is
OpenxData an open source project?
sorry if i misunderstood your point
Hi Dagmar
My response in line
It is true that anyone can create a ticket and write patches
On 1/12/12, Dagmar Timler <diggi...@gmail.com> wrote:
> Hi
>
> To be clear about the process: anyone can create tickets and write patches.
> These patches will be reviewed and incorporated into the trunk, by the core
> team, when the requirements and code meet our standards.
>
as Donald said we were working with OpenXdata offline as a result the
source code have changed a lot on our side even though the
functionality remain the same. We removed what we seen as dead code
and what we seen as code doing something could be done by a more
appropriate class.
thinking that we will easy the Developer time to learn and do things
more easily.
If we could create a ticket for this it could introduce some overhead
to programmers that is why we ask you guys to give us a place where we
can upload the source code and developer review them and give their
feed back!
I have not understood your point here! did you mean that we were not
> If you need some functionality in the trunk and have someone who can
> develop the change, it is simple. You should join the process by creating a
> ticket and patch for review.
>
supposed to touch the source code and do some programming instead we
were required to raise a need and you guys develop that need! if so is
OpenxData an open source project?
sorry if i misunderstood your point
I think the points needed to be raised about the process in relation to the original email have been raised, so I hope we can focus on what Donald and Mayala have worked on and from there consider what functions/features/improvements that could be scheduled for later versions of openXdata – through the processes that have been well elaborated in this thread :)
The code Donald and Mayala have worked on will be uploaded to a repo under Experimental – so that the work done is retained and available and differences from original revisions are identifiable. This does not imply anything else than that Donald and Mayala are sharing their work with the community. A message will be sent to the group once it is there.
@Mark, what you have written here is a nice start for a write-up that could be used as an introduction on trac for how things are working as of today.
Best regards,
Jørn
____________________________________________________________________________
Jorn Klungsoyr
openXdata - Centre for International Health, University of Bergen, Norway
www.openxdata.org / www.cih.uib.no / www.openrosa.org / www.open-mobile.org
Mobile: +4791365731, Skype/GoogleTalk: jornklung Alternative email: jorn.kl...@gmail.com
Post: Postboks 7800, 5020 Bergen, Visit: Årstadveien 21, 5th Floor, Bergen
------¤¤¤¤------
From: openxd...@googlegroups.com [mailto:openxd...@googlegroups.com] On Behalf Of Mark Gerard
Sent: Thursday, January 12, 2012 9:21 PM
To: openxd...@googlegroups.com
Subject: Re: [openXdata-dev] FEATURES AND ENHANCEMENTS FOR OPENXDATA MOBILE CLIENT
I will just mention that neither Brent nor Jørn (or anyone for that matter) *directly* influences what goes into the code base. There is a transparent way that is done which everyone has to get acquainted to. In the past, we have operated in "free mode" where by everyone and everything hits the repo - the results of that are better left undiscussed for now. This process is what Dagmar labored to explain in the earlier communication.
I’ve made two branches of the revisions they used as starting point and we’re working on uploading the changes to that branch.
https://svn.openxdata.org/Experimental/DeveloperTestBed/DonaldMteka/
Will notify the group once done.
Will also setup a test instance so others can test the functionalities.
All registered devs have write permissions on the Experimental subtree in subversion (and everyone has read permissions on everything…..).
Best
jørn
____________________________________________________________________________
Jorn Klungsoyr
openXdata - Centre for International Health, University of Bergen, Norway
www.openxdata.org / www.cih.uib.no / www.openrosa.org / www.open-mobile.org
Mobile: +4791365731, Skype/GoogleTalk: jornklung Alternative email: jorn.kl...@gmail.com
Post: Postboks 7800, 5020 Bergen, Visit: Årstadveien 21, 5th Floor, Bergen
------¤¤¤¤------
The code Donald and Mayala have worked on is now available at:
https://svn.openxdata.org/Experimental/DeveloperTestBed/DonaldMteka/
You may also easier see changes with diff in trac from this URL:
https://trac.openxdata.org/log/Experimental/DeveloperTestBed/DonaldMteka
I have also uploaded a binary version of server to:
http://demo.openxdata.org/exp_dm_mm
user: admin
pass: openXdata
Attached is a zip with the mobile jar/jad that you can try.
Make sure you update the URL according to the URL above.
Best regards,
Jørn
____________________________________________________________________________
Jorn Klungsoyr
openXdata - Centre for International Health, University of Bergen, Norway
www.openxdata.org / www.cih.uib.no / www.openrosa.org / www.open-mobile.org
Mobile: +4791365731, Skype/GoogleTalk: jornklung Alternative email: jorn.kl...@gmail.com
Post: Postboks 7800, 5020 Bergen, Visit: Årstadveien 21, 5th Floor, Bergen
------¤¤¤¤------
From: openxd...@googlegroups.com [mailto:openxd...@googlegroups.com] On Behalf Of Donald mteka
Sent: Thursday, January 12, 2012 7:55 AM
To: openxdata-dev
--
Hi all,
Thanks a lot, Sarah, for your feedback!. It gave me an idea of what a first time user will go through. You gave very good tips on pitfalls. But here follows some in-line responses to throw some light where you found darkness and appreciate your appreciations...Thanks for the 'test case', I see why it crashes... When parsing the url, the implementation expects a port to be there. But the whole world knows that you need not say ':80'. Fix to come.
Some general points:
1) Nice idea on the connection settings, but I think the new connection settings dialog that is on trunk is more stable than what is in this client (for example, if you modify defaults.properties and set to http://demo.openxdata.org/exp_dm_mm then the application completely crashes as there's no port number)
The intention is to give the first time user the idea of what is needed to quick start before you actually popping up settings dialogs. You have your say..
2) I don't think we need to incorporate the first opening message
Probably the cost could have been colors and file size, but a star icon and a red icon are both colored. On file size, tried to shrink the red icon down to 376 bytes compared to 300 bytes of a star icon.. Does that really count?
3) I really like the new red icon - if it doesn't cost anything in performance on low-end phones I would recommend we change
And when you want to see the repeat data, you should likewise see the tidier list of repeat data (if the description template thing didn't kill you!). The repeat data list used to contain a comma separated list of all questions. Imagine a repeat question with 10 questions!!!!!.
6) I like that the form view shows the number of responses given to the repeat question rather than a list of the responses - tidier and sufficient (I also think the use of square brackets to denote this as opposed to curly brackets for data was smart)
I see. When you mark data for upload, an immediate action is expected! Any act of navigating back assumes you changed your mind!
An overkill?? Mmmh, look at it this way:
1) The feature is consistent at study list level, form list level and form data list level! that sums up to just one functionality to the use (just given more options if he desires!)
2)You have only two options in sending data as of now, (a) SEND EVERY THING (b) SEND ONE INDIVIDUAL DATA AT A TIME.
What you get from that feature is HOW BULK IS BULK? Is it
(a) ALL STUDIES/FEW SELECTED STUDIES
(b)ALL FORMS IN A STUDY/ FEW SELECTED FORMS IN A STUDY
(c)ALL DATA IN A FORM/ FEW SELECTED DATA IN A FORM
That makes up to how many options? Simple math, 3x2=6.
Don't tell me you never wanted to upload data of some form because you are done, but others should stay?.
This was our first solution to enable a data collector to get the chance to take some action on the data he submitted from the mobile app! He only had to select a particular log and take the action!
But where are we know? The get data feature kills the game.. No need of logs which just takes up space.. When you get data, you actually get a log! From that, it is to you decide what do you do with that, delete, invalidate, do a full download.
And of course when you delete it from the phone, you can get it again next time you want It!
Do you see any room for upload log? Dead and gone..
I have seen your screen shot. Jorn should acknowledge that I sent him some two patches to apply to fix it even before he posted the notification mail.. It is just that the lines a too long and I forgot to set a line-wrap option for that display screen! I guess he deployed the jars are sent him, nothing much.
9) The updated upload screen is not working well for me - see attached photo (SAM_0009.JPG) - however if I'm imagining what it should be like correctly, I like the list with a tick icon and then selecting the form for further info - it is a good use of space for the small screen.Huuuuh, save form without even entering any data? Sounds a good tip for stability..
10) I couldn't save a partially filled form when I hadn't entered any data - it kept saying "Save complete study is full" over and over and I had to quit although when I logged back in it appeared to be saved - partial form saving is now implemented in main trunk anyway
I tested the latest mforms on the trunk on thursday before I gave a spin on Brent's mforms-2.0. I noted it is now implemented, but is a way behind the way i implemented with one BIG DIFFERENCE.
The current implementation wont allow you to send bulk data if any form is not completely answered.. In my implementation, the incomplete form(s) stay. And technically, there was a lot to change to get this feature to work that way.
Did you look at the underlying form_data tables and export table? There are notable differences and no doubt you were looking for a void flag in form_data table. But actually the generated export table has a column named data_valid, has to be on or off! This is so to have grained control of exactly what you want to invalidate, it could just one repeat data! Infact, the data Id you see in the log, is an actual entry id in the exported table. Should have noted that the primary keys are integers rather that UUID strings. The motivation to change into integers was that this Id needs to be included in an sms to users, a UUID string would cost too many charaters! I don't think this will play very well with current UUID deployments, unless no one is using the Id for an future reference, in which case it could be replace with integers with change to the rest of state of matters.
11) The invalidate data function did not seem to affect the status of data on the server
12) Overall I like the get data functionality. It took a little getting used to but it is good - i think a version of it would be a good upgrade to our existing download data functionality:-)I didn't either! Why? The heavy lifting have to be done on the form designer to exploit it. But even so, in this implementation,
13) Didn't test the deep repeat
The REPEAT QUESTION DEFINITION is just another FORM DEFINITION! What does that mean? Simple proof by induction,
=>what works with form definition, should work with repeat question definition-> in a repeat question definition->in a repeat question definition->in a repeat question definition.....................................
But should be testable through junit by making up some hypothetical formdef.
It's hard not to say i am so impressed with your views. My general perception is that you stumbled at some points because it was not clear from the outset, what was meant for what! But that's exactly how the end users will approach the application.
So, the user is not the one to blame where he finds it difficulty or clumsy!
Hi Donald some further thoughts in blue:On Sun, Feb 26, 2012 at 11:12 PM, Donald mteka <donal...@gmail.com> wrote:
Hi all,
Thanks a lot, Sarah, for your feedback!. It gave me an idea of what a first time user will go through. You gave very good tips on pitfalls. But here follows some in-line responses to throw some light where you found darkness and appreciate your appreciations...Thanks for the 'test case', I see why it crashes... When parsing the url, the implementation expects a port to be there. But the whole world knows that you need not say ':80'. Fix to come.
Some general points:
1) Nice idea on the connection settings, but I think the new connection settings dialog that is on trunk is more stable than what is in this client (for example, if you modify defaults.properties and set to http://demo.openxdata.org/exp_dm_mm then the application completely crashes as there's no port number)
if you're interested there was another problem that if you start typing in simple and switch to advanced what you wrote isn't saved - i wouldn't bother fixing this or the previous - the existing functionality in trunk handles this just fine so i would incorporate that code
The intention is to give the first time user the idea of what is needed to quick start before you actually popping up settings dialogs. You have your say..
2) I don't think we need to incorporate the first opening messagemy experience of implementations is that you hand the user (usually many users) the phone all setup - their job is not to configure an app but to collect data
So, that how it works (at least in most cases)?. We thought we would like to let someone out there whom we have verified his identity (through various means, we may not be able to reach him physically), and has a GPRS, java-enabled mobile phone (or given funds to get all needed tools) to participate in our research and should get some direction in our absence. All he needs is point his url to openxdata.org to get the mobile client and use the credentials we sent him. But all in all, it's just a 'friendly way' of getting someone started, nothing much..
And when you want to see the repeat data, you should likewise see the tidier list of repeat data (if the description template thing didn't kill you!). The repeat data list used to contain a comma separated list of all questions. Imagine a repeat question with 10 questions!!!!!.
6) I like that the form view shows the number of responses given to the repeat question rather than a list of the responses - tidier and sufficient (I also think the use of square brackets to denote this as opposed to curly brackets for data was smart)As I said, it did kill me :D but I totally agree about the "imagine a repeat question with 10 questions" and I would like to see the "description template" implemented at the server level for both forms and repeat questions
7) The Mark for Upload didn't work for me - when I did mark for upload and then go to the Study level and select upload data all the data was uploaded. Regardless I think this is overkill, we have an opportunity for individual or bulk upload and I think that you can have too much functionalityI see. When you mark data for upload, an immediate action is expected! Any act of navigating back assumes you changed your mind!
An overkill?? Mmmh, look at it this way:
1) The feature is consistent at study list level, form list level and form data list level! that sums up to just one functionality to the use (just given more options if he desires!)
2)You have only two options in sending data as of now, (a) SEND EVERY THING (b) SEND ONE INDIVIDUAL DATA AT A TIME.
What you get from that feature is HOW BULK IS BULK? Is it
(a) ALL STUDIES/FEW SELECTED STUDIES
(b)ALL FORMS IN A STUDY/ FEW SELECTED FORMS IN A STUDY
(c)ALL DATA IN A FORM/ FEW SELECTED DATA IN A FORM
That makes up to how many options? Simple math, 3x2=6.
Don't tell me you never wanted to upload data of some form because you are done, but others should stay?.
Hi, yes, I think you can have too much functionality and whilst I understand your reasoning I think this is adding marginally useful functions at the expense of usability - sorry :)
8) There is no upload log, that is a good new addition we've gotThis was our first solution to enable a data collector to get the chance to take some action on the data he submitted from the mobile app! He only had to select a particular log and take the action!
But where are we know? The get data feature kills the game.. No need of logs which just takes up space.. When you get data, you actually get a log! From that, it is to you decide what do you do with that, delete, invalidate, do a full download.
And of course when you delete it from the phone, you can get it again next time you want It!
Do you see any room for upload log? Dead and gone..Hi I actually do see a use case for a log - it's been implemented and the ticket outlines it. In short, it came up in Peru, data collectors come back to head office every few days and check in with their supervisor. They need to compare a list of what they believe they've collected and uploaded with what's been received on the server. This serves as a check and balance to ensure all data is present. The upload log provides this feature. Getting data back from the server doesn't fulfill this use case.
I have seen your screen shot. Jorn should acknowledge that I sent him some two patches to apply to fix it even before he posted the notification mail.. It is just that the lines a too long and I forgot to set a line-wrap option for that display screen! I guess he deployed the jars are sent him, nothing much.
9) The updated upload screen is not working well for me - see attached photo (SAM_0009.JPG) - however if I'm imagining what it should be like correctly, I like the list with a tick icon and then selecting the form for further info - it is a good use of space for the small screen.Huuuuh, save form without even entering any data? Sounds a good tip for stability..
10) I couldn't save a partially filled form when I hadn't entered any data - it kept saying "Save complete study is full" over and over and I had to quit although when I logged back in it appeared to be saved - partial form saving is now implemented in main trunk anyway
I tested the latest mforms on the trunk on thursday before I gave a spin on Brent's mforms-2.0. I noted it is now implemented, but is a way behind the way i implemented with one BIG DIFFERENCE.
The current implementation wont allow you to send bulk data if any form is not completely answered.. In my implementation, the incomplete form(s) stay. And technically, there was a lot to change to get this feature to work that way.I think that the feature of bulk upload functioning but leaving incompletes behind sounds very good and i would like to see it on our trunk