LibreHealthIO / lh-ehr

LibreHealth EHR - Free Open Source Electronic Health Records
Other
236 stars 260 forks source link

Discussion about Release Deployment Packages #146

Closed aethelwulffe closed 6 years ago

aethelwulffe commented 8 years ago

Installed the latest php7 XAMPP package. I was given the option of what packages to install with it (a bitnami installer). I selected php, apache, and mysql (which is actually MariaDB). This resulted in something like a "lite" edition. I grabbed a zip of the (at the moment) latest LibreEHR and started installing. As I went, I discovered that a 30 second time out (default for php) would not get me installed. I started over with configuring php, setting it to production mode and restricting duplicate log entries/sources. About that time the weather hit and I had to leave the office, so I have stalled for the moment, and may not get back on it until tomorrow morning. My intent is to simply get a functioning zip into place. I also downloaded an eval version of BitRock package builder that deploys cross-platform, but it comes at a seriously steep price. Cheaper to build my own, even though I might never get a linux package to work. The question I have: What would it take to go the Apache Friends route and have BitNami handle it?

tmccormi commented 8 years ago

Bitnami is an interesting idea. I chatted with them off and on at several conferences and at the time the were not supporting PHP. I assume that has changed now. I wonder of SFC environment has a something?

aethelwulffe commented 8 years ago

Actually, it is looking like PHP is an overwhelming portion of their offerings. If phpBB3 (used as the Apache Friends bulletin board) is there, this must be doable unless the Apache Foundation is supporting that product directly now.

aethelwulffe commented 8 years ago

https://bitnami.com/tag/php Got lots there.

tmccormi commented 8 years ago

Containers are hot topics...

aethelwulffe commented 8 years ago

Somehow posted this to an old pull request instead of here. That's what we get for letting me have a browser with more than two tabs. Anywho: [REMOVED] is a semi-working version...that I am improving now. You can go to the index of that directory to see more updated versions as I pump them out. The next one will not have the one little error in it (though the above does work, just fails to launch the browser. This is all based on a slightly out of date master. We need:

You might notice that since the .exe is already compressed, packing it into a zip, 7zip, gz or whatever just has a few hundred k overhead...with no additional compression. This is a minimal xampp install of php7. The database is NOT configured.

aethelwulffe commented 8 years ago

VOTE: Don't release a fully installed LibreEHR package unless it is clearly marked "DEMONSTRATION ONLY". The installer sends you right to the LibreEHR configuration, and I hate the idea of pre-loading the database connections in something someone might actually use in production. Automatically launch the xampp-control.exe with instructions on how to install services. Don't run the scripts automatically to install services. Make people right click and "run as administrator" to install the services. Make all this reasonable with easy-to-follow instructions with 8x10 color glossy photos.

aethelwulffe commented 8 years ago

Installer script:

[Setup]

AppId={{3C5096D4-63FA-40BD-A8B7-6C8327698888} AppName=LibreEHR AppVersion=1.0 AppVerName=LibreEHR AppPublisher=LibreEHR AppPublisherURL=http://LibreEHR.org/ AppSupportURL=http://LibreEHR.org/ AppUpdatesURL=http://LibreEHR.org/ AppCopyright=Copyright (C) 2016 LibreHealth DefaultDirName=C:\xampp DisableProgramGroupPage=yes AppReadmeFile=C:\xampp\htdocs\LibreEHR\README.rtf LicenseFile=C:\xampp\htdocs\LibreEHR\mpl_license.txt InfoBeforeFile=C:\xampp\htdocs\LibreEHR\acknowledge_license_cert.rtf OutputBaseFilename=LibreEHR SetupIconFile=C:\Users\Art\Desktop\Output\favicon.ico Compression=lzma SolidCompression=yes WindowVisible=yes BackColor=clBlue BackColor2=clBlack BackColorDirection=lefttoright DirExistsWarning=auto WizardSmallImageFile=C:\xampp\htdocs\LibreEHR\images\install.bmp

[Languages] Name: "english"; MessagesFile: "compiler:Default.isl" Name: "brazilianportuguese"; MessagesFile: "compiler:Languages\BrazilianPortuguese.isl" Name: "catalan"; MessagesFile: "compiler:Languages\Catalan.isl" Name: "corsican"; MessagesFile: "compiler:Languages\Corsican.isl" Name: "czech"; MessagesFile: "compiler:Languages\Czech.isl" Name: "danish"; MessagesFile: "compiler:Languages\Danish.isl" Name: "dutch"; MessagesFile: "compiler:Languages\Dutch.isl" Name: "finnish"; MessagesFile: "compiler:Languages\Finnish.isl" Name: "french"; MessagesFile: "compiler:Languages\French.isl" Name: "german"; MessagesFile: "compiler:Languages\German.isl" Name: "greek"; MessagesFile: "compiler:Languages\Greek.isl" Name: "hebrew"; MessagesFile: "compiler:Languages\Hebrew.isl" Name: "hungarian"; MessagesFile: "compiler:Languages\Hungarian.isl" Name: "italian"; MessagesFile: "compiler:Languages\Italian.isl" Name: "japanese"; MessagesFile: "compiler:Languages\Japanese.isl" Name: "norwegian"; MessagesFile: "compiler:Languages\Norwegian.isl" Name: "polish"; MessagesFile: "compiler:Languages\Polish.isl" Name: "portuguese"; MessagesFile: "compiler:Languages\Portuguese.isl" Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl" Name: "scottishgaelic"; MessagesFile: "compiler:Languages\ScottishGaelic.isl" Name: "serbiancyrillic"; MessagesFile: "compiler:Languages\SerbianCyrillic.isl" Name: "serbianlatin"; MessagesFile: "compiler:Languages\SerbianLatin.isl" Name: "slovenian"; MessagesFile: "compiler:Languages\Slovenian.isl" Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl" Name: "turkish"; MessagesFile: "compiler:Languages\Turkish.isl" Name: "ukrainian"; MessagesFile: "compiler:Languages\Ukrainian.isl"

[Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

[Files] Source: "C:\xampp\xampp-control.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "C:\xampp*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs

[Icons] Name: "{commonprograms}\LibreEHR Start Web Services"; Filename: "{app}\xampp-control.exe" Name: "{commondesktop}\LibreEHR Web Services"; Filename: "{app}\xampp-control.exe"; Tasks: desktopicon Name: "{commondesktop}\LibreEHR Login"; Filename: "https://localhost/libreehr"; Tasks: desktopicon [Run] Filename: "{app}\xampp-control.exe"; Description: "{cm:LaunchProgram,LibreEHR}"; Flags: nowait postinstall skipifsilent Filename: http://localhost/libreehr; Description: "Configure LibreEHR"; Flags: postinstall shellexec Filename: "{app}\htdocs\libreehr\documentation\SettingUpLibreEHR.rtf"; Description: "Read Quick Start Guide"; Flags: nowait postinstall skipifsilent

aethelwulffe commented 8 years ago

github does not like files larger than 25 meg in the repos...so I can't use that to hold the compiled installers and deb packages. Where are we gonna put these?

teryhill commented 8 years ago

FTP

Sent from my iPhone

On Sep 3, 2016, at 11:57 AM, Art Eaton notifications@github.com wrote:

github does not like files larger than 25 meg in the repos...so I can't use that to hold the compiled installers and deb packages. Where are we gonna put these?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

aethelwulffe commented 8 years ago

What FTP? Not mine. It's slow as a burro led by a teenager.

aethelwulffe commented 8 years ago

Set up a documentation and install helper repo. Don't know if we should just use a branch instead. Wanted to put builds in there, but they won't take due to size.
I am trying to slick up the installer so that it has a contiguous look throughout the process.

tmccormi commented 8 years ago

Ask on LibreHealth forum if they have a place. If not SFC probably has resources they will allocate for us.

aethelwulffe commented 8 years ago

Tony, please remind me if the SFC is the software conservancy, and how we should approach that.

aethelwulffe commented 8 years ago

I don't know if anyone downloaded the test xampp package from my server, but I plan on taking that down tomorrow. When we have a release branch, or when we convert master to being the current release and we branch off a development1+/master branch, I will build and polish.

Should I take down the Documentation_Resources repo (where I have an image branch), or does anyone else besides me feel that is a viable tool?

tmccormi commented 8 years ago

Yes SFC is as you say. Wait ... until we have the signed documents... very soon now.

tmccormi commented 8 years ago

Should I take down the Documentation_Resources repo (where I have an image branch), or does anyone else besides me feel that is a viable tool?

Not sure what you actually had in mind for this one. What artifacts would be stored here that would NOT be store in the related repo (LibreEHR/FHIR etc)?

aethelwulffe commented 8 years ago

I think that only finished products would be picked over to the main repo. I think I prefer having a second repo to having branches that share no commit history.

If I was working on some graphical documentation, or just wanted to store my sources for producing a document or graphic (image or pdf), then a repo is a very nice way of accessing the source files. the permissions could be different than the main repos, and if someone croaks or floats away in mid-production of something, then we still have everything. A wiki is just a finished product, as it were. Usage example: The logo SVGs. We want those...forever...but that should not go into the main repo. I might have doc-blocks for grant writing that are used over and over. That is another type of good resource. Too many times, someone produces a really cool PDF image for documentation, and you have to rebuild the whole damn thing, when you just wanted the source file so you could make some clean edits...because all the original stuff was lost years before.

tmccormi commented 8 years ago

Seems like a reasonable use case

aethelwulffe commented 8 years ago

Added a pull request that reworks the logo elements. It doesn't have to go against the release milestone, but hey, we can always make that part of the distribution milestone!

175

tmccormi commented 8 years ago

Here's all the original sources for the logos and things. LibreEHR-20160917.zip

aethelwulffe commented 8 years ago

Shoving files to the resources repo.

tmccormi commented 8 years ago

This is a useful reference for best practices in Git branching and workflow: https://www.atlassian.com/git/tutorials/comparing-workflows/#!workflow-gitflow

This is a summary of what I plan on doing for the release

  1. A feature starts from the dev branch into its own branch. From the master branch you should only branch hotfixes because the master branch should always be the stable version of your software.
  2. When a feature branch is done, it should be merged into dev, then at some point you should branch your next release from dev (including some features) into a new 'release/*' branch which will be merged into master once it is stabilized and well tested.
aethelwulffe commented 8 years ago

This is exactly how I think it should go. I should still set the diagram as a desktop background image for a while...

aethelwulffe commented 8 years ago

Updated Installer script. Had to add some documentation files to the distro package. There is still a ton of outdated documentation in there. I will add the finished install quick guide and the like to the resource repo. Looks like the last package I made is using the wrong (low quality)icons. Scrub.

aethelwulffe commented 8 years ago

Latest version is on my FTP. It is based of off the Documentation repo one commit ahead of master. Everything seems to work great!

aethelwulffe commented 8 years ago

Can we tackle the deployment location issue? Where to put?

tmccormi commented 7 years ago

Changing this to next release..

aethelwulffe commented 7 years ago

https://dl.bintray.com/librehealth/LibreHealthEHR Here is the latest build of this. It requires testing, and if Harley or someone can review the associated docs (probably created last september) for applicability, it would be appreciated.