For ease, here are my posts in the other topic.
rrygle
Hi guys,
Sorry to re-open this topic after 5 years, but I think being able to open EWSX files would be a great and useful addition. I also think it might be low hanging fruit given that earlier EasyWorship file versions and databases seem to import without issue, so hopefully small tweaks only needed to OpenLP 3.1.x.
The *.EWSX format (EW 6 & 7 service schedule) seems to be a zipped up file, which when extracted is an sqlite format.
I can extract a file, and then using "DB Browser for SQLite" (available for Windows, Mac and Linux also - https://sqlitebrowser.org/dl/ ) I can see the data structure in the main.db file. It also has a "Media" folder that contains any external non-text files such as PPTX or JPG.
Here is a folder on Google Drive with (currently) one EWSX file in it.
https://drive.google.com/open?id=1-OjOYxhWC5e9iT5mT9HYr7GYszeL3QWW
It has a small group of PD songs from the EasyWorship PD sample song data. I have not included any media files, only text, to keep this simple, but I might do another file with a few media files in it as The screenshot shows the song schedule titles only, but it should not be tricky to find these in the db file. I might add an OpenLP file with the same contents in case that would help. I might also add a text file with the song words in case that helps.
With this sample file I unzipped it and tried renaming the main.db file to songs.db and using an EW 6/7 song database import, but it doesn't work, so obviously the format is somewhat different between the songs.db and the EWSX's main.db.
When I look at the contents of main.db using the DB Browser for SQLite, I noticed that there seems to be a repeated pattern under the Browse Data tab that includes "BACKGROUND", "AUDIO", "CONTENT_SONG", "COPYRIGHT within the file. I am not a whiz with the SQLITE format, unfortunately.
rrygle
OK, very minor progress...
If I browse main.db and go to the Browse Data tab, then select a table from the dropdown list just below that tab, I can see the following;
The 'info' table describes the EasyWorship app version default/expected and minimum (allowed?) for this file format as '7.4.1.3' and '6.5.1.0', which means their format may not have changed a lot for a while at least for simple text since I am using the latest 7.4.1.9. Edit: according to https://www.easyworship.com/software/release-notes 6.5.1.0 came out on Sep 6, 2016, so hopefully no major changes since then.
The 'resource-text' table has each verse/slide as a separate row and the contents of each row are in RTF format. If I select a row and copy the contents to a text file and name it *.RTF, I can then open that in LibreOffice Writer without issue. I have added a screen shot of this SQLite DB table to the google drive link above. Edit: Actually each verse appears to start on every third row after the first, with two rows of some sort of extra meta/data for two rows after each text/rtf row.
There are many similar tables that are empty in this file (as they are not in the file) but that mention 'resource_audio', 'resource_color', 'resource_dvd', 'resource_image', 'resource_video', 'resource_web' that can presumably contain links to resources, possibly hyperlinks to external web sites or to files in the Media folder in the EWSX file itself.
rrygle
Seems that in the EWSX\main.db file there is a table, "presentation", that lists the slides, together with associated metadata such as slide title, (song/bible/other) author, (song/bible/other) copyright, (song/bible/other) copyright administrator, theme/background, and more. It seems to also assign a unique ID (UID) to each slide and another to thumbnails of slides, and that is how slides and images can be referred to/identified.
This is similar, or at least not incredibly different, to the main database that EasyWorship uses, except this is all contained in the Songs.db (e.g. in C:\Users\Public\Documents\Softouch\Easyworship\Default\v6.1\Databases\Data), while the text of the songs in an EWSX schedule is kept in the main.db in the 'resource-text' table, whereas in the main EW database the text of the songs seems to be in the separate SongWords.db file, rather than a table in the same Songs.db file. Again with UID's, but all the slides for a song seem to be kept in one row in SongWords.db, all in Rich Text Format (RTF), whereas they seem to be parsed and split out (as described above) into individual slides in the EWSX\main.db\'resource-text' table.