Ok so we've identified a few different issues (META-199, META-201 and META-202) but I've got a problem now that I can't tell whether it's our test server or MDS at fault. I see the pattern below in the log file when I do an import. The import process just seems to hang after I click next on page 4.
There are 2 minutes worth of locale warnings. Then a message some minutes afterward from a scheduled task that isn't related.... so doesn't appear to be any log message for why the import is failing. Any ideas? This isn't happening on my own computer when I do the same import. *WARN - DecimalLocaleConverter.parse(237) |2012-03-02 10:32:33,809| No pattern provided, using default.* *WARN - DecimalLocaleConverter.parse(237) |2012-03-02 10:32:33,810| No pattern provided, using default.* *WARN - DecimalLocaleConverter.parse(237) |2012-03-02 10:32:33,811| No pattern provided, using default.* * * *... 1000s of same message ...* * * *WARN - DecimalLocaleConverter.parse(237) |2012-03-02 10:34:21,811| No pattern provided, using default.* *WARN - DecimalLocaleConverter.parse(237) |2012-03-02 10:34:21,811| No pattern provided, using default.* *WARN - DecimalLocaleConverter.parse(237) |2012-03-02 10:34:21,812| No pattern provided, using default.* *INFO - HibernateContextDAO.authenticate(170) |2012-03-02 10:40:00,023| Failed login attempt (login=admin) - Invalid username and/or password: admin * *ERROR - AbstractTask.authenticate(112) |2012-03-02 10:40:00,068| Error authenticating user* *org.openmrs.api.context.ContextAuthenticationException: Invalid username and/or password: admin* * at org.openmrs.api.db.hibernate.HibernateContextDAO.authenticate(HibernateContextDAO.java:171) * *...* * at org.openmrs.scheduler.tasks.AbstractTask.authenticate(AbstractTask.java:107) * * at org.openmrs.module.patientalerts.PatientAlertTask.execute(PatientAlertTask.java:56) * * at org.openmrs.module.patientalerts.PatientAlertTask.execute(PatientAlertTask.java:40) * * at org.openmrs.scheduler.tasks.TaskThreadedInitializationWrapper.execute(TaskThreadedInitializationWrapper.java:72) * * at org.openmrs.scheduler.timer.TimerSchedulerTask.run(TimerSchedulerTask.java:48) * * at java.util.TimerThread.mainLoop(Timer.java:512)* * at java.util.TimerThread.run(Timer.java:462)* On 1 March 2012 23:02, Rafal Korytkowski <[email protected]> wrote: > You're right Dave it should help. I've replied on the ticket. > > -Rafal > > > On 1 March 2012 21:35, Dave Thomas <[email protected]> wrote: > >> Again, i'm guessing that this is a creation ordering problem. The Drug >> (and the Concept referenced by the Drug) needs to be created before the >> ConceptAnswer? >> >> d >> >> >> On Thu, Mar 1, 2012 at 12:33 PM, Dave Thomas <[email protected]> wrote: >> >>> Hi. No, I'm the one doing the export, and i'm trying to send the export >>> to Rowan. And all of my ConceptAnswer.answerDrug fields point to real >>> Drugs in the export database. >>> >>> i.e., >>> >>> select answer_drug from concept_answer where answer_drug is not null and >>> answer_drug not in (select drug_id from drug); >>> returns 0 rows. >>> >>> So there's no wrong data in the export DB. >>> >>> On the import database, the Drug should just be created. And this is >>> what's not working. >>> >>> d >>> >>> On Thu, Mar 1, 2012 at 11:50 AM, Rafal Korytkowski <[email protected]>wrote: >>> >>>> Dave, it's Hibernate that complains about the violated FK constraint >>>> which throws an exception while initializing the object. It should be >>>> possible to catch that runtime exception. We would have to watch out for >>>> that as it may happen either while loading an object or calling one of its >>>> getters (depending on the lazy-loading setting). The catch should be >>>> somewhere in OpenmrsObjectVisitor where the exception is thrown (see >>>> Rowan's stacktrace). >>>> >>>> The question is if MDS should be handling wrong data in your db :-) >>>> >>>> -Rafal >>>> >>>> >>>> >>>> On 1 March 2012 20:10, Rowan Seymour <[email protected]> wrote: >>>> >>>>> Rafal was right - we were missing the drug in the database after a >>>>> previous SQL import of concepts... which is why SQL dumps are not a great >>>>> way to move concepts around and why we really appreciate the work you guys >>>>> are doing on MDS >>>>> >>>>> >>>>> On 1 March 2012 20:48, Dave Thomas <[email protected]> wrote: >>>>> >>>>>> Why wouldn't the drug just be added to the metadata sharing package >>>>>> when referenced by answer_drug? >>>>>> >>>>>> I don't see why you'd ever want to import/export a concept with an >>>>>> answer_drug where you wouldn't want the package to include the drug. >>>>>> >>>>>> (rolling up sleeves to look at metadatasharing code) >>>>>> >>>>>> d >>>>>> >>>>>> >>>>>> On Thu, Mar 1, 2012 at 4:35 AM, Rafal Korytkowski >>>>>> <[email protected]>wrote: >>>>>> >>>>>>> It's possible that you may have imported it. Normally MySQL dumps >>>>>>> are imported with foreign_key_checks=OFF. >>>>>>> >>>>>>> I'd assume this drug is in the concept_answer table so execute this >>>>>>> query: >>>>>>> >>>>>>> select * from concept_answer where answer_drug = 142; >>>>>>> >>>>>>> -Rafal >>>>>>> >>>>>>> >>>>>>> On 1 March 2012 13:10, Rowan Seymour <[email protected]> wrote: >>>>>>> >>>>>>>> There is no drug 142. Am looking in the database to see where we >>>>>>>> could have a FK constraint violation. It's InnoDB tables >>>>>>>> with foreign_key_checks=ON so I don't see how it's possible. What do >>>>>>>> you >>>>>>>> think is referencing that drug? >>>>>>>> >>>>>>>> I'll create a ticket for the other exception. >>>>>>>> >>>>>>>> Thanks >>>>>>>> >>>>>>>> >>>>>>>> On 1 March 2012 13:15, Rafal Korytkowski <[email protected]> wrote: >>>>>>>> >>>>>>>>> Hi, >>>>>>>>> >>>>>>>>> The export fails since you've got a FK constraint violation in >>>>>>>>> your db: *No row with the given identifier exists: >>>>>>>>> [org.openmrs.Drug#142]. *Make sure that a drug with id 142 exists >>>>>>>>> or don't reference it in your concepts. >>>>>>>>> >>>>>>>>> Regarding the import it's trying to save concepts in the wrong >>>>>>>>> order. Can you please create a ticket and attach your package if it's >>>>>>>>> possible or else I'll ask you to help me inspect the xml further. >>>>>>>>> >>>>>>>>> -Rafal >>>>>>>>> >>>>>>>>> On 1 March 2012 11:29, Rowan Seymour <[email protected]>wrote: >>>>>>>>> >>>>>>>>>> Another exception - this time trying to export all concepts from >>>>>>>>>> the same server: >>>>>>>>>> >>>>>>>>>> *Caused by: >>>>>>>>>> org.openmrs.module.metadatasharing.task.TaskException: Export failed >>>>>>>>>> * >>>>>>>>>> * at >>>>>>>>>> org.openmrs.module.metadatasharing.task.impl.ExportPackageTask.execute(ExportPackageTask.java:125) >>>>>>>>>> * >>>>>>>>>> * at >>>>>>>>>> org.openmrs.module.metadatasharing.api.impl.MetadataSharingServiceImpl.executeTask(MetadataSharingServiceImpl.java:198) >>>>>>>>>> * >>>>>>>>>> * ...* >>>>>>>>>> *Caused by: org.hibernate.ObjectNotFoundException: No row with >>>>>>>>>> the given identifier exists: [org.openmrs.Drug#142]* >>>>>>>>>> * at >>>>>>>>>> org.hibernate.impl.SessionFactoryImpl$1.handleEntityNotFound(SessionFactoryImpl.java:377) >>>>>>>>>> * >>>>>>>>>> * at >>>>>>>>>> org.hibernate.proxy.AbstractLazyInitializer.checkTargetState(AbstractLazyInitializer.java:79) >>>>>>>>>> * >>>>>>>>>> * at >>>>>>>>>> org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:68) >>>>>>>>>> * >>>>>>>>>> * at >>>>>>>>>> org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:111) >>>>>>>>>> * >>>>>>>>>> * at >>>>>>>>>> org.openmrs.module.metadatasharing.visitor.impl.OpenmrsObjectVisitor$1.visit(OpenmrsObjectVisitor.java:89) >>>>>>>>>> * >>>>>>>>>> * at >>>>>>>>>> com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:129) >>>>>>>>>> * >>>>>>>>>> * at >>>>>>>>>> org.openmrs.module.metadatasharing.visitor.impl.OpenmrsObjectVisitor.visitFields(OpenmrsObjectVisitor.java:83) >>>>>>>>>> * >>>>>>>>>> * at >>>>>>>>>> org.openmrs.module.metadatasharing.task.impl.ExportPackageTask.resolveRelatedItems(ExportPackageTask.java:176) >>>>>>>>>> * >>>>>>>>>> * at >>>>>>>>>> org.openmrs.module.metadatasharing.task.impl.ExportPackageTask.access$2(ExportPackageTask.java:175) >>>>>>>>>> * >>>>>>>>>> * at >>>>>>>>>> org.openmrs.module.metadatasharing.task.impl.ExportPackageTask$1.visitMetadata(ExportPackageTask.java:202) >>>>>>>>>> * >>>>>>>>>> * at >>>>>>>>>> org.openmrs.module.metadatasharing.task.impl.ExportPackageTask$1.visit(ExportPackageTask.java:184) >>>>>>>>>> * >>>>>>>>>> * at >>>>>>>>>> org.openmrs.module.metadatasharing.visitor.impl.OpenmrsObjectVisitor$1.visit(OpenmrsObjectVisitor.java:96) >>>>>>>>>> * >>>>>>>>>> * at >>>>>>>>>> com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:129) >>>>>>>>>> * >>>>>>>>>> * at >>>>>>>>>> org.openmrs.module.metadatasharing.visitor.impl.OpenmrsObjectVisitor.visitFields(OpenmrsObjectVisitor.java:83) >>>>>>>>>> * >>>>>>>>>> * at >>>>>>>>>> org.openmrs.module.metadatasharing.task.impl.ExportPackageTask.resolveRelatedItems(ExportPackageTask.java:176) >>>>>>>>>> * >>>>>>>>>> * at >>>>>>>>>> org.openmrs.module.metadatasharing.task.impl.ExportPackageTask.exportSubpackage(ExportPackageTask.java:148) >>>>>>>>>> * >>>>>>>>>> * at >>>>>>>>>> org.openmrs.module.metadatasharing.task.impl.ExportPackageTask.execute(ExportPackageTask.java:98) >>>>>>>>>> * >>>>>>>>>> * ... 44 more* >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> It also outputted about 15MB to my catalina.out log, most of >>>>>>>>>> which appears to be repetition of this warning: >>>>>>>>>> >>>>>>>>>> *WARN - StringLocaleConverter.getDecimalFormat(281) |2012-03-01 >>>>>>>>>> 11:54:50,961| No pattern provided, using default.* >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On 1 March 2012 12:13, Rowan Seymour <[email protected]>wrote: >>>>>>>>>> >>>>>>>>>>> Am trying to import a package with MDS 1.0.2 and getting the >>>>>>>>>>> exception below. The package was also made with 1.0.2 >>>>>>>>>>> * >>>>>>>>>>> * >>>>>>>>>>> *Caused by: >>>>>>>>>>> org.openmrs.module.metadatasharing.task.TaskException: Import failed >>>>>>>>>>> * >>>>>>>>>>> *...* >>>>>>>>>>> *Caused by: org.openmrs.api.db.DAOException: Error saving >>>>>>>>>>> org.openmrs.Concept [e44dae58-fec8-4567-bd44-e989232af0e7]* >>>>>>>>>>> *...* >>>>>>>>>>> *Caused by: org.openmrs.api.APIException: Cannot save 7073. >>>>>>>>>>> Failed with the following exception:* >>>>>>>>>>> *java.lang.reflect.InvocationTargetException* >>>>>>>>>>> * >>>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native >>>>>>>>>>> Method) >>>>>>>>>>> at >>>>>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >>>>>>>>>>> at >>>>>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >>>>>>>>>>> at java.lang.reflect.Method.invoke(Method.java:597) >>>>>>>>>>> at >>>>>>>>>>> org.openmrs.module.metadatasharing.reflection.OpenmrsClassScanner.invokeServiceSaveItem(OpenmrsClassScanner.java:254) >>>>>>>>>>> at >>>>>>>>>>> org.openmrs.module.metadatasharing.reflection.OpenmrsClassScanner.serviceSaveItem(OpenmrsClassScanner.java:174) >>>>>>>>>>> at >>>>>>>>>>> org.openmrs.module.metadatasharing.handler.impl.OpenmrsObjectHandler.saveItem(OpenmrsObjectHandler.java:107) >>>>>>>>>>> at >>>>>>>>>>> org.openmrs.module.metadatasharing.handler.impl.OpenmrsObjectHandler.saveItem(OpenmrsObjectHandler.java:1) >>>>>>>>>>> at >>>>>>>>>>> org.openmrs.module.metadatasharing.handler.Handler.saveItem(Handler.java:38) >>>>>>>>>>> at >>>>>>>>>>> org.openmrs.module.metadatasharing.task.impl.ImportPackageTask.saveItem(ImportPackageTask.java:284) >>>>>>>>>>> at >>>>>>>>>>> org.openmrs.module.metadatasharing.task.impl.ImportPackageTask.saveItem(ImportPackageTask.java:278) >>>>>>>>>>> at >>>>>>>>>>> org.openmrs.module.metadatasharing.task.impl.ImportPackageTask.saveItem(ImportPackageTask.java:278) >>>>>>>>>>> at >>>>>>>>>>> org.openmrs.module.metadatasharing.task.impl.ImportPackageTask.saveItem(ImportPackageTask.java:278) >>>>>>>>>>> at >>>>>>>>>>> org.openmrs.module.metadatasharing.task.impl.ImportPackageTask.saveItem(ImportPackageTask.java:278) >>>>>>>>>>> at >>>>>>>>>>> org.openmrs.module.metadatasharing.task.impl.ImportPackageTask.importItems(ImportPackageTask.java:199) >>>>>>>>>>> at >>>>>>>>>>> org.openmrs.module.metadatasharing.task.impl.ImportPackageTask.execute(ImportPackageTask.java:85) >>>>>>>>>>> at >>>>>>>>>>> org.openmrs.module.metadatasharing.api.impl.MetadataSharingServiceImpl.executeTask(MetadataSharingServiceImpl.java:198) >>>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>>>>>>>>> * >>>>>>>>>>> *...* >>>>>>>>>>> *Caused by: org.hibernate.PropertyValueException: not-null >>>>>>>>>>> property references a null or transient value: >>>>>>>>>>> org.openmrs.ConceptAnswer.answerConcept* >>>>>>>>>>> * >>>>>>>>>>> at >>>>>>>>>>> org.hibernate.engine.Nullability.checkNullability(Nullability.java:72) >>>>>>>>>>> at >>>>>>>>>>> org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:290) >>>>>>>>>>> * >>>>>>>>>>> >>>>>>>>>>> I assume "*Cannot save 7073*" refers to the item with id=7073 >>>>>>>>>>> which would be this ConceptMap in the metadata.xml: >>>>>>>>>>> >>>>>>>>>>> <org.openmrs.ConceptMap id="*7073*" >>>>>>>>>>> uuid="75591ABBBBBBBBBBBBBBBBBBBBBBBBBBBBBB"> >>>>>>>>>>> <conceptMapId>13,329</conceptMapId> >>>>>>>>>>> <concept reference="7046"/> >>>>>>>>>>> <source reference="671"/> >>>>>>>>>>> <sourceCode>283025007</sourceCode> >>>>>>>>>>> <comment>Map Type: 1</comment> >>>>>>>>>>> <creator/> >>>>>>>>>>> <dateCreated id="7074">2010-04-25 >>>>>>>>>>> 11:29:41</dateCreated> >>>>>>>>>>> </org.openmrs.ConceptMap> >>>>>>>>>>> >>>>>>>>>>> And the concept with that UUID is: >>>>>>>>>>> >>>>>>>>>>> <org.openmrs.ConceptAnswer id="10576" >>>>>>>>>>> uuid="575e736e-347a-4487-aced-10c7cdd9ec5f"> >>>>>>>>>>> <conceptAnswerId>6,850</conceptAnswerId> >>>>>>>>>>> <concept reference="5900"/> >>>>>>>>>>> <answerConcept id="10577" >>>>>>>>>>> resolves-to="org.openmrs.Concept" uuid="* >>>>>>>>>>> e44dae58-fec8-4567-bd44-e989232af0e7*"> >>>>>>>>>>> <conceptId>7,181</conceptId> >>>>>>>>>>> <retired>false</retired> >>>>>>>>>>> <datatype reference="37"/> >>>>>>>>>>> <conceptClass reference="897"/> >>>>>>>>>>> <set>false</set> >>>>>>>>>>> <version>1</version> >>>>>>>>>>> <creator/> >>>>>>>>>>> <dateCreated id="10579">2011-12-15 >>>>>>>>>>> 04:22:46</dateCreated> >>>>>>>>>>> <changedBy/> >>>>>>>>>>> <dateChanged id="10580">2012-01-16 >>>>>>>>>>> 20:03:00</dateChanged> >>>>>>>>>>> <names class="set" id="10581"> >>>>>>>>>>> <org.openmrs.ConceptName id="10582" >>>>>>>>>>> uuid="435c4cb9-5527-491c-87c6-43c3bd64c2e5"> >>>>>>>>>>> <conceptNameId>14,688</conceptNameId> >>>>>>>>>>> <concept reference="10577"/> >>>>>>>>>>> <name>Obstructed Labor, Antepartum</name> >>>>>>>>>>> <locale id="10583">en</locale> >>>>>>>>>>> <creator/> >>>>>>>>>>> <dateCreated id="10584">2011-12-15 >>>>>>>>>>> 04:22:46</dateCreated> >>>>>>>>>>> <voided>false</voided> >>>>>>>>>>> <tags class="set" id="10585"> >>>>>>>>>>> <org.openmrs.ConceptNameTag >>>>>>>>>>> reference="28"/> >>>>>>>>>>> </tags> >>>>>>>>>>> </org.openmrs.ConceptName> >>>>>>>>>>> </names> >>>>>>>>>>> <answers class="set" id="10586"/> >>>>>>>>>>> <conceptSets class="set" id="10587"/> >>>>>>>>>>> <descriptions class="set" id="10588"/> >>>>>>>>>>> <conceptMappings class="set" id="10589"> >>>>>>>>>>> <org.openmrs.ConceptMap id="10590" >>>>>>>>>>> uuid="12e8f7ab-c801-4c4e-9ba0-d5a516a8ac81"> >>>>>>>>>>> <conceptMapId>13,442</conceptMapId> >>>>>>>>>>> <concept reference="10577"/> >>>>>>>>>>> <source reference="1428"/> >>>>>>>>>>> <sourceCode>O66.9</sourceCode> >>>>>>>>>>> <creator/> >>>>>>>>>>> <dateCreated id="10591">2011-12-15 >>>>>>>>>>> 04:22:46</dateCreated> >>>>>>>>>>> </org.openmrs.ConceptMap> >>>>>>>>>>> <org.openmrs.ConceptMap id="10592" >>>>>>>>>>> uuid="06e77deb-29b4-423b-bfb3-51f7670dae71"> >>>>>>>>>>> <conceptMapId>14,034</conceptMapId> >>>>>>>>>>> <concept reference="10577"/> >>>>>>>>>>> <source reference="76"/> >>>>>>>>>>> <sourceCode>7181</sourceCode> >>>>>>>>>>> <creator/> >>>>>>>>>>> <dateCreated id="10593">2012-01-16 >>>>>>>>>>> 20:03:00</dateCreated> >>>>>>>>>>> </org.openmrs.ConceptMap> >>>>>>>>>>> <org.openmrs.ConceptMap id="10594" >>>>>>>>>>> uuid="0332cfca-4aa4-46a9-9b76-6fa45c9ba336"> >>>>>>>>>>> <conceptMapId>13,441</conceptMapId> >>>>>>>>>>> <concept reference="10577"/> >>>>>>>>>>> <source reference="71"/> >>>>>>>>>>> <sourceCode>7558</sourceCode> >>>>>>>>>>> <creator/> >>>>>>>>>>> <dateCreated id="10595">2011-12-15 >>>>>>>>>>> 09:20:01</dateCreated> >>>>>>>>>>> </org.openmrs.ConceptMap> >>>>>>>>>>> </conceptMappings> >>>>>>>>>>> <compatibleCache id="10596"> >>>>>>>>>>> <entry> >>>>>>>>>>> <locale reference="92"/> >>>>>>>>>>> <vector id="10597"> >>>>>>>>>>> <org.openmrs.ConceptName >>>>>>>>>>> reference="10582"/> >>>>>>>>>>> </vector> >>>>>>>>>>> </entry> >>>>>>>>>>> </compatibleCache> >>>>>>>>>>> </answerConcept> >>>>>>>>>>> <creator/> >>>>>>>>>>> <dateCreated id="10598">2011-12-15 >>>>>>>>>>> 04:23:05</dateCreated> >>>>>>>>>>> </org.openmrs.ConceptAnswer> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> *Rowan Seymour* >>>>>>>>>> tel: +250 783835665 >>>>>>>>>> http://twitter.com/rowanseymour >>>>>>>>>> >>>>>>>>>> ------------------------------ >>>>>>>>>> Click here to >>>>>>>>>> unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from >>>>>>>>>> OpenMRS Developers' mailing list >>>>>>>>>> >>>>>>>>> >>>>>>>>> ------------------------------ >>>>>>>>> Click here to >>>>>>>>> unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from >>>>>>>>> OpenMRS Developers' mailing list >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> *Rowan Seymour* >>>>>>>> tel: +250 783835665 >>>>>>>> http://twitter.com/rowanseymour >>>>>>>> >>>>>>>> ------------------------------ >>>>>>>> Click here to >>>>>>>> unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from >>>>>>>> OpenMRS Developers' mailing list >>>>>>>> >>>>>>> >>>>>>> ------------------------------ >>>>>>> Click here to >>>>>>> unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from >>>>>>> OpenMRS Developers' mailing list >>>>>>> >>>>>> >>>>>> ------------------------------ >>>>>> Click here to >>>>>> unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from >>>>>> OpenMRS Developers' mailing list >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> *Rowan Seymour* >>>>> tel: +250 783835665 >>>>> http://twitter.com/rowanseymour >>>>> >>>>> ------------------------------ >>>>> Click here to >>>>> unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from >>>>> OpenMRS Developers' mailing list >>>>> >>>> >>>> ------------------------------ >>>> Click here to >>>> unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from >>>> OpenMRS Developers' mailing list >>>> >>> >>> >> ------------------------------ >> Click here to >> unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from >> OpenMRS Developers' mailing list >> > > ------------------------------ > Click here to > unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from > OpenMRS Developers' mailing list > -- *Rowan Seymour* tel: +250 783835665 http://twitter.com/rowanseymour _________________________________________ To unsubscribe from OpenMRS Developers' mailing list, send an e-mail to [email protected] with "SIGNOFF openmrs-devel-l" in the body (not the subject) of your e-mail. [mailto:[email protected]?body=SIGNOFF%20openmrs-devel-l]

