Repository questions


After Windows System Restore, logging in gives errors and MXT files are reverted

Explanation:To cure a problem in Windows, I used System Protection to revert to a previous Restore Point. Now for some projects I get an 'Invalid ABFile file' error, for others 'not enough elements'. Looking in the meplus0.err file I see *.csl files mentioned. On disk the .csl files are missing in the first case (or size 0 after the error), or have reverted to a previous version. Some MXT type exports are also missing or have reverted to a previous version.
Affects:Windows Vista - 8.1 (and 10 if manually enabled)
Solution:Windows System Restore states it only affects the registry, executables and scripts, and not user documents. Unfortunately, what it considers as executables and scripts is a list of 574 Monitored File Name Extensions. Some of these are used by applications for user files, so there are many reports on the net of people losing such data in various applications. System Restore began causing data loss in this way in Windows Vista. MetaCase and many other software vendors and users have reported this problem to Microsoft, but subsequent Windows versions have not corrected the situation (as of 8.1 Update; Windows 10 improves the situation by not enabling System Restore by default on C:).

Affected files in MetaEdit+ are .csl, .ctb, and .gst for repositories, .mxt for metamodels in XML, and metaedit.ini. These files will thus be incorrectly reverted by System Restore to their state when the restore point was made. If they did not exist back then they will be deleted; conversely, if the repository existed then but has since been deleted, files of these types will reappear along with their directories (but not the rest of the repository files).

To get the MetaEdit+ files back to the state before System Restore, you can use Shadow Explorer. When Windows deleted or reverted your files with System Restore, it first created a new 'undo' restore point containing those files. In Shadow Explorer you can select the disk with your MetaEdit+ files, select this 'undo' restore point by its timestamp, select the repository's directory, and choose Export from its pop-up menu.

Other solutions include mounting the shadow copy manually rather than using Shadow Explorer, backing up MetaEdit+ user files before System Restore, turning off System Restore, or keeping MetaEdit+ user files on a disk where System Restore is not turned on (by default it is turned on only on C:, and not even there for Windows 10). Do not try using FilesNotToSnapshot or other registry keys for System Protection - they do not help, and actually make the data loss worse for files on the Monitored Extensions list: http://superuser.com/questions/713565/exclude-files-or-folders-from-system-restore/773300.


How do I use an evaluation database with the full version of MetaEdit+?

Explanation:I had the evaluation version of MetaEdit+ and it expired. Now I have bought and installed the full version, how do I use my evaluation database with it?
Solution:
  1. Copy the evaluation database directory, demo, and its contents to your full MetaEdit+ working directory, keeping its tree structure but renaming its top-level directory to 'evaldb' to avoid clashing (it's probably called demo, and you probably have your own demo directory already):

    (In your MetaEdit+ working directory)
    artbase.roo      (your databases' roots file)
    demo\            (your existing demo database directory)
    evaldb\          (the copied evaluation database directory, renamed)
           manager.ab
           trid
           users\ ...
           areas\ ...
           backup\ ...
  2. In 4.0 or earlier, you will also need to add an entry to your databases' roots file to point to the new db. In 4.5, this step can be omitted.
    1. Start your full MetaEdit+
    2. Press the little button with the down arrow icon
    3. Press the Roots Browser button
    4. In the Database Roots browser, press Add...
    5. Fill in evaldb for both name and path and press OK
    6. Press the Save and then the Close button
  3. Now you can login to the evaldb database as normal.


How does MetaEdit+ support multiple developers working on a model?

Solution:MetaEdit+ is available either as a single-user version or as a multi-user version. In the former, all developers have an own repository for models, and importing and exporting between repositories can be done via files. In the multi-user version all models are in the same repository and users can access and reuse models simultaneously. Locking is made at the object-level, so several users could change the elements of the same model at the same time.


'Somebody else is using that database' error

Explanation:I've made a copy of my database to the CD and after that I copied the database to my laptop from CD. Now when I try to login to this copied database, I receive an error message which says that somebody else is using that database. What went wrong?
Solution:In Windows, files copied from a CD are all marked as 'read-only'. For MetaEdit+, all directories and files of a database should have 'read-only' turned off.

To turn 'read-only' off for all files and directories in a database in Windows 95:

  • Select the database's root directory in Explorer and find (F3) all files and subdirectories there (Named: *.*, Check 'Include subfolder' box, Press 'Find').
  • The file list in the Find window should fill up with all the files and directories in the database. Select all these files (press Ctrl-A), and open the Properties dialog from the list's pop up menu.
  • Clear the check box in the Read-only attribute, and press OK.


What do I do if the database crashes?

Solution:General instructions after database crash

These instructions are for MetaEdit+ 2.5 and earlier, where a rare problem could sometimes cause the database to crash. Since 3.0, there have been no problems with database crashes.
  1. Take a backup of the repository (e.g. by zipping it or making a copy)
  2. Try to log in normally
  3. If that fails, restore the backup, and try reconstructing the user, and clean up all areas
  4. Try to log in normally
  5. If that fails, restore the backup, and do full database recovery
  6. If that gives no error, try logging in again
  7. If you still have no luck, it may be possible to open some areas and recover the latest changes. You may be able to export these, or then just print them, and apply the same changes to a previous backup.


What do reconstruction options do?

Solution:User reconstruction
Normal users can only reconstruct themselves; sysadmin can do all (default sysadmin password is sysadmin)

  • Reconstruct user files, if status not logout, or (longTransaction and quit)
  • If crash occurred during last phase of commit (or abandon because of conflict in multi-user version), clean up the areas that were being changed at the time of the crash

Cleanup areas

  • Removes transaction files (*.t*)
  • Removes temporary files (*.$*, *.g*)
  • Removes dynamic info files (*.cif)
Unlock all objects

  • Frees selected users’ locks in selected areas (multi-user version only)
Reset object info
Only for sysadmin

  • Removes dynamic info files (*.cif)
Full database recovery
Only for sysadmin

  • Deletes all files in each area
  • Deletes backup dynamic info files (*.cif)
  • Copies all files from backup directories to areas directories
  • Appends all object files for each committed transaction (number.aob) to one .aob file, updates position table .atb; deletes transaction object files
  • Copies manager.ab and trid from backup
  • Deletes all user status files
  • Deletes backup files and backs up (copies) from areas directory to backup directory


What is the user name and password to login?

Solution:

If you are just starting to evaluate MetaEdit+, the best way is to follow the Evaluation Tutorial (Start | Programs | MetaEdit+ | MetaEdit+ Help), which includes the login details and guides you through the process.

If you have a full MetaEdit+ license, please see the installation notes first, and then the Getting Started section of the MetaEdit+ User's Guide (Start | Programs | MetaEdit+ | MetaEdit+ Help).

Each database has its own users and passwords. The default 'demo' database that comes with MetaEdit+ has the following:

To log in as a normal user:
User name: user
Password: user

To log in as system administrator, e.g. to reconstruct, import database patches or XML:
User name: sysadmin
Password: sysadmin


Which files should I copy to give my repository or some models to a colleague?

Solution:If you need to share your models between colleagues, the best approach is naturally to use the multi-user version of MetaEdit+. This allows you to share and update models freely: you can even change different elements of the same model at the same time.

Without the multi-user version, you need to transfer the full MetaEdit+ repository: the full repository directory structure (repository main directory; e.g. demo + all subdirectories & files), to ensure that all object links, references etc. will work correctly. Easiest is normally to zip the repository directory (as listed in the Repository list in the Startup Launcher). Make sure you are logged out before zipping. Send the zipped repository to your colleague who unpacks it as a new subdirectory of their MetaEdit+ working directory. Refreshing the Startup Launcher with F5 will show the new repository.

If you need to transfer only a few models, you can use the import & export functions to store selected models as a patch file, and then send that file to your colleague. You can create the export patch file by selecting "Browsers|Graph Manager" in the Main Launcher. The patch file includes the selected models along with their modeling language exported into the same file. Your colleague must be logged in to their repository as system administrator to import a patch.

Look up 'export | graphs' in the MetaEdit+ User's Guide for more details on exporting, and 'importing' in the System Administrator's Guide for more details on importing.

Note that if an evaluation version uses a repository, it will require a current evaluation code, and that repository will be marked to expire 31 days later (unless it is already marked to expire sooner).