We are currently in the process of migrating to Single Page Applications in #UgandaEMR. As a team, we have chosen to go with the OpenMRS server option(O3 Implementer Documentation: Set Up, Configure & Deploy - Projects - OpenMRS Wiki) as it is in line with the already existing implementation.
The distro.properties file is shown below.
omod.addresshierarchy=${addresshierarchyVersion}
omod.metadatadeploy=${metadatadeployVersion}
omod.reportingrest=${reportingRestVersion}
omod.serialization.xstream.type=omod
omod.serialization.xstream=${serializationxstreamVersion}
omod.registrationapp=${registrationappVersion}
omod.event.groupId=org.openmrs
omod.event=${eventVersion}
omod.uilibrary=${uilibraryVersion}
omod.htmlwidgets=${htmlwidgetsVersion}
omod.dataexchange=${dataexchangeVersion}
name=UgandaEMR
omod.appui=${appuiVersion}
omod.allergyui=${allergyuiVersion}
db.sql=classpath\://new-install.sql
omod.providermanagement=${providermanagementVersion}
omod.formentryapp=${formentryappVersion}
omod.idgen=${idgenVersion}
omod.metadatamapping=${metadatamappingVersion}
omod.htmlformentryui=${htmlformentryuiVersion}
db.h2.supported=false
omod.emrapi=${emrapiVersion}
omod.referenceapplication=${referenceapplicationVersion}
omod.htmlformentry=${htmlformentryVersion}
omod.appframework=${appframeworkVersion}
omod.referencemetadata=${referencemetadataVersion}
omod.coreapps=${coreappsVersion}
omod.reportingcompatibility=${reportingCompatibilityVersion}
omod.reporting=${reportingVersion}
omod.reportingui=${reportingUIVersion}
omod.adminui=${adminuiVersion}
omod.registrationcore=${registrationcoreVersion}
omod.appointmentscheduling=${appointmentschedulingVersion}
omod.appointmentschedulingui=${appointmentschedulinguiVersion}
war.openmrs=${openMRSVersion}
omod.webservices.rest=${webservices.restModuleVersion}
omod.calculation=${calculationVersion}
version=${project.parent.version}
omod.uicommons=${uicommonsVersion}
omod.xforms=${xformsVersion}
omod.uiframework=${uiframeworkVersion}
omod.metadatasharing=${metadatasharingVersion}
omod.dataintegrity=${dataintegrityVersion}
omod.databasebackup=${databaseBackupVersion}
omod.ugandaemr=${project.parent.version}
omod.ugandaemrreports=${ugandaemrReportsVersion}
omod.ugandaemrfingerprint=${ugandaemrfingerprintVersion}
omod.legacyui=${legacyuiVersion}
omod.fhir2=${fhir2Version}
omod.dataentrystatistics=${dataEntryStatisticsVersion}
omod.patientflags=${patientFlagsVersion}
omod.ugandaemrsync=${ugandaemrSyncVersion}
omod.patientqueueing=${patientqueueingVersion}
omod.cohort=${cohortModuleVersion}
omod.queue=${queueModuleVersion}
omod.spa=${spaModuleVersion}
spa.frontendModules.@openmrs/esm-framework=next
spa.frontendModules.@openmrs/esm-devtools-app=3.4.1-pre.112
spa.frontendModules.@openmrs/esm-implementer-tools-app=3.4.1-pre.112
spa.frontendModules.@openmrs/esm-login-app=3.4.1-pre.112
spa.frontendModules.@openmrs/esm-offline-tools-app=3.4.1-pre.112
spa.frontendModules.@openmrs/esm-primary-navigation-app=3.4.1-pre.112
spa.frontendModules.@openmrs/esm-home-app=3.1.1-pre.88
spa.frontendModules.@openmrs/esm-form-entry-app=3.2.1-pre.130
spa.frontendModules.@openmrs/esm-patient-allergies-app=3.2.1-pre.130
spa.frontendModules.@openmrs/esm-patient-appointments-app=3.2.1-pre.130
spa.frontendModules.@openmrs/esm-patient-attachments-app=3.2.1-pre.130
spa.frontendModules.@openmrs/esm-patient-banner-app=3.2.1-pre.130
spa.frontendModules.@openmrs/esm-patient-biometrics-app=3.2.1-pre.130
spa.frontendModules.@openmrs/esm-patient-chart-app=3.2.1-pre.130
spa.frontendModules.@openmrs/esm-patient-conditions-app=3.2.1-pre.130
spa.frontendModules.@openmrs/esm-patient-forms-app=3.2.1-pre.130
spa.frontendModules.@openmrs/esm-patient-immunizations-app=3.2.1-pre.130
spa.frontendModules.@openmrs/esm-patient-medications-app=3.2.1-pre.130
spa.frontendModules.@openmrs/esm-patient-notes-app=3.2.1-pre.130
spa.frontendModules.@openmrs/esm-patient-programs-app=3.2.1-pre.130
spa.frontendModules.@openmrs/esm-patient-test-results-app=3.2.1-pre.130
spa.frontendModules.@openmrs/esm-patient-vitals-app=3.2.1-pre.130
spa.frontendModules.@openmrs/esm-active-visits-app=3.1.1-pre.188
spa.frontendModules.@openmrs/esm-outpatient-app=3.1.1-pre.188
spa.frontendModules.@openmrs/esm-patient-list-app=3.1.1-pre.188
spa.frontendModules.@openmrs/esm-patient-registration-app=3.1.1-pre.188
spa.frontendModules.@openmrs/esm-patient-search-app=3.1.1-pre.188
spa.frontendModules.@ugandaemr/esm-ugandaemr-app=0.1.3
spa.core=3.4.0
spa.spaPath=/openmrs/spa/
spa.apiUrl=/openmrs/
spa.configUrls=
spa.importmap=/openmrs/spa/importmap.json
On loading the server in the browser using http://localhost:8080/openmrs/spa/home the index.html file is not seen even when it is available in the frontend folder.
The terminal displays this log on loading the browser
WARN - SpaServlet.getFile(166) |2022-10-27T12:36:07,604| File with path 'frontend/index.html' doesn't exist
2022-10-27 12:36:07,632 http-bio-8080-exec-4 ERROR Attempted to append to non-started appender MEMORY_APPENDER
WARN - SpaServlet.getFile(166) |2022-10-27T12:36:07,641| File with path 'frontend/index.html' doesn't exist
WARN - SpaServlet.getFile(166) |2022-10-27T12:36:08,667| File with path 'frontend/service-worker.js' doesn't exist
WARN - SpaServlet.getFile(166) |2022-10-27T12:36:08,672| File with path 'frontend/service-worker.js' doesn't exist
Any help to resolve this is highly appreciated.
We are running SPA 1.0.8 is the version of the Single Applications Module. and OpenMRS 2.5.5