Essential AM Repository

Post Reply
Furry
Posts: 1
Joined: 08 Mar 2015, 16:30

Hello,

At the risk of appearing a bit dense...

I have successfully installed for both standalone (laptop) and server multi-user (Windows 2008), with various fixes (as found on this forum) applied, to get the Essential Viewer and the Protege server working, and also managed to convert a file project ('newspaper', as it happens) to a database (mysql).

But, I just can't make sense of the whole metaproject / Essential AM Repository project / essential baseline project thing. Neither the mult-user install instructions nor the several forum postings related to these have managed to dispel the fog.

I had the problem of the 'Essential AM Repository' project not being created within the metaproject, by the multi-user install. I tried re-installing, selecting just the repository, but this still installed a version of the metaproject with only the newspaper, pizza etc. projects (x7) under PolicyControlledObject, with no Essential AM Repository project(s) (x2 incl. annotation variant).

I didn't want to check the 'server' box, because it's not clear to me what that would actually install; I didn't want to blitz all my hard work in getting the server to actually run and talk to mysql (should I have?). And, anyway, 'repository' seemed like the logical choice.

I then downloaded the version of the metaproject linked-to from a thread in the forum, but while this *does* feature the Essential AM Repository projects, within the metaproject, it does not feature the 7 or so examples, nor the essential baseline project.

I have the metaproject and the essential baseline project files stored within the folder pointed to by 'set METAPROJECT ...' in the run_protege_server.bat.

I notice that the essential baseline project is referred to in the 'Location' field(s) of the Essential AM Repository project(s).

I think I get the general idea, but I'm confused about which project is part of which; and the relationships between the E. AM Repository project, the essential baseline project, and the metaproject; is the essential baseline project actually the 'same' as the 'Essential AM Project'? If so, then should it or should it not itself appear as a project under the metaproject's PolicyControlledObjects?

Also, I'm not sure how a project becomes referenced / part of the metaproject, as simply opening it (and saving) does not cause it to appear under PolicyControlledObjects; how does one 'introduce' a project to the metaproject / repository? And why is a repository of projects (apparently) itself also a 'project'?

So, can you please explain?

I want to get this straight before I convert the Essential AM Repository project (and ...?) to a database.

TIA
User avatar
jonathan.carter
Posts: 1087
Joined: 04 Feb 2009, 15:44

The Essential Baseline Repository is a Protege project that contains an empty, starting-point repository for the Essential toolset. All of the classes of the Essential Meta Model are defined along with some reference ‘instances’ but otherwise, you can think of this as a blank repository, ready for you to start capturing your architecture content.

The metaproject is another Protege project that the server in the multi-user install uses as its configuration repository. This tells the Protege server which repositories to serve to the clients, which users are authorised to access these along with the definition of user groups etc.

The ‘Essential AM Repository’ is our suggested name in the metaproject for the object that represents your Essential repository in that server. Note that the server can serve multiple projects (e.g. different versions / deployments of the Essential repository, such as development / test / production). As Protege is a general purpose ontology editor, it comes with examples such as Pizza and Newspaper but those are not used in the context of Essential and can be removed or ignored. In that example you downloaded, we have removed all these examples in an attempt to avoid confusion.

The ‘server’ box on the installer deploys a version of the metaproject that we have pre-configured with the Essential AM Repository defined - with the exception of the path to where you have located that project file. The ‘server’ install option will not touch your database configuration and in fact, the database is entirely separate from the Protege Server.

Each Essential repository only requires a single table in the MySQL database, so can happily co-exist with anything else that you have in there.

To have the Protege Server serve your Essential repository, you must create a new instance of the Project class (found under PolicyControlledObjects), for your repository. This tells the server everything it needs to know about what the repository is called, where the project file (.pprj) is located so that it knows how to load it and who can access it. Once you’ve filled out the Project form, you must save the metaproject and restart the server for the changes to take effect.

Converting the Essential Repository to be persisted in the database is a separate activity that we recommend you perform before adding a Project instance for it in the metaproject. How the repository is persisted is defined in its project file (.pprj) and using the Convert Project To Format.. option takes the out-of-the-box file-based repository and updates it to use your selected database.
See Convert Project to Database Tutorial for more details of that.

Hope this helps - let me know if you have any further questions

Jonathan
Essential Project Team
Post Reply