Perhaps it's assumed or implied or I overlooked it, but consider adding a
method to "reset" your messy dev client to the latest-greatest version of
your dictionary from your production machine… so you can rinse & repeat.

@Ada/Lauren/Jeremy – would Darius' solution meet AMPATH's needs?

-Burke

On Thu, May 10, 2012 at 2:32 PM, Michael Seaton <msea...@pih.org> wrote:

> **
> Hi Darius,
>
> I think this is a great solution, and would meet our form development
> needs very well.  We can certainly talk about potential for developer
> collaboration on this, though I can't promise anything...
>
> Thanks for thinking this through,
> Mike
>
>
>
> On 05/10/2012 02:01 PM, Darius Jazayeri wrote:
>
> Hi All,
>
>  I'm working through a simpler approach to Concept Proposals that what
> has been attempted several times before, and never finished, and I thought
> I'd share my thoughts while they're fresh.
>
>  I'm particularly interested in the scenario where:
>
>    - In the cloud there's a concept authority (in my case MVP/CIEL) who
>    manages your dictionary, and you periodically pull updates from there
>    - You have one server that has your official concept dictionary (could
>    be your metadata, forms, or production server)
>       - No development work happens directly on this machine. Concept
>       dictionary and forms are developed elsewhere, and imported.
>    - You have one or more development machines where you do
>    (potentially-messy) development and testing of forms
>
> So, the forms development workflow would basically be:
>
>    1. On a development machine, starting with your master dictionary, you
>    work on a form. It is expected that you will create a bunch of new
>    concepts, revise them, and delete some of them that were mistakes.
>    2. When your form is ready-to-go, you identify all concepts on your
>    form that do not come from the master dictionary (i.e. they were
>    newly-created)
>       - with HTML Form Entry this should be easy to automate, by checking
>       whether there are any concept references not in the form of MVP:###. 
> Maybe
>       XForms and Infopath could do something similar.
>    3. You send that batch of new concepts up to a web service on the
>    concept authority in the cloud, as proposals. You get back tokens you can
>    use to check the status of your proposals.
>    4. (Periodically you ping the concept authority, until all proposals
>    from that batch are resolved.)
>    5. You hit the concept authority and download its official versions of
>    the concepts that you created locally, and these *replace* your
>    locally-created concepts.
>       - I hope we can leverage the Metadata Sharing module to do this
>       pretty easily.
>    6. (Depending on the form entry technology) You edit your form to
>    refer to the new official versions of the concepts you proposed.
>    7. At this point you export the form from your dev machine, and import
>    it into your metadata/forms/production server.
>
> I think the difference between this and prior work on Concept Proposal is
> that I'm saying:
>  1. You should do forms development on a separate dev machine whose
> dictionary is expected to get messy.
> 2. Instead of creating concept proposals, you create actual concepts, so
> you can do real testing with them.
>
>  All this leads me to think that we can produce a minimum viable 
> product<http://en.wikipedia.org/wiki/Minimum_viable_product> of
> the Concept Proposal module with only these features:
>
>  (client-side, for use on forms development machines)
>
>    - every time you create a new concept, it is marked as "temporary"
>    - you can view a list of all temporary concepts, and delete ones you
>    don't like
>    - you can select some temporary concepts and "propose to master
>    dictionary"
>    - you can see a list of all your submitted proposals, along with their
>    current status
>    - when a proposal has been marked as complete by the server, it will
>    overwrite your local "temporary" concept with the new one officially
>    created, and clear the "temporary" flag.
>
>  (server-side)
>
>    - web service for proposing a batch of concepts
>    - web service for checking the status of a proposal
>    - UI showing a list of all open proposals
>    - UI for choosing the action for each item in the batch of proposals
>       - Created New Concept (specify the concept)
>       - Already Exists (specify the concept)
>       - Rejected (specify the free-text reason)
>    - Email notification when a new proposal comes in.
>
>  It's possible that some ThoughtWorks developers-in-training might work on
> this as a project. Or I might propose this as a sprint. What do people
> think about the approach? In particular, is there anyone out there who
> finds this approach consistent with their needs, and would contribute some
> dev time to helping make it happen?
>
>  -Darius
>
>

_________________________________________

To unsubscribe from OpenMRS Developers' mailing list, send an e-mail to 
lists...@listserv.iupui.edu with "SIGNOFF openmrs-devel-l" in the  body (not 
the subject) of your e-mail.

[mailto:lists...@listserv.iupui.edu?body=SIGNOFF%20openmrs-devel-l]

Reply via email to