Datenaustausch, gemeinsamer Datenzugriff und Multiuser

Hier verraten JVerein-Benutzer ihre Tricks und Tips zur JVerein

Moderator: heiner

phfeustel
Beiträge: 7
Registriert: Montag 7. September 2015, 19:29
Verein: Junge Verlagsmenschen e.V.
Mitglieder: 650
JVerein-Version: 2.8.11
Betriebssystem: Mac OSX

Re: Datenaustausch, gemeinsamer Datenzugriff und Multiuser

Beitrag von phfeustel »

Hallo Harry,
Dein Skript aus deinem Beitrag oben, habe ich jetzt für Mac OSX "portiert" und getestet.

Mein Testsetup war: 1 Rechner mit Windows 10 und 1 Rechner mit OSX 10.10.5.

Der Code des SH-Skripts (ist sowas wie eine .bat unter Windows) sieht so aus.
Tipp: Wenn man der Datei unter Mac OSX die Endung .command gibt, kann man Sie einfach durch Anklicken ausführen.

Code: Alles auswählen

#!/bin/sh

# Nachfolgende drei Zeilen bitte anpassen

# JAMEICA_DATADIR muss angegeben werden, selbst wenn der Standard-Pfad verwendet wird. Es reicht dabei den Pfad bis zur jameica.app anzupassen, falls notwendig.
JAMEICA_APP_PATH="/Applications/jameica.app/"
# Pfad zu dem Ort, an dem der jameica-Benutzerordner liegt. Ersetze <DeinUserName> durch Deinen Mac-Benutzernamen. Eine Liste aller Benutzer kann man sehen, wenn man unter /Users bzw. /Benutzer sich die dort liegenden Ordner ansieht. 
JAMEICA_DATADIR="/Users/<DeinUserName>/Desktop/jameica/"
# Kopiert aus dem Original jameica-Startskript. Entspricht dem Standard aus OSX 10.10
JAVACMD="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java"



######################################### Ab hier keine Änderungen mehr notwendig

LOCKFILE_MY="${JAMEICA_DATADIR}/my.lock"

# Prüfen, ob Lockfile existiert
if [ -f "$LOCKFILE_MY" ];then #Jameica in Verwendung, da Lock-File existiert
    JAMEICA_USER=$(cat $LOCKFILE_MY)
    echo "**********"
    echo "* Jameica wird gerade benutzt von"
    echo "*      $JAMEICA_USER"
    echo "**********"
    echo "* Jameica kann erst gestartet"
    echo "* werden, wenn obiger Benutzer das"
    echo "* Programm beendet hat."
    echo "**********"
else #Jameica nicht in Verwendung, da das Lock-File nicht existiert
    echo "**********"
    echo "* Jameica wird gestartet"
    echo "**********"
    echo "* ACHTUNG:"
    echo "*    Dieses Fenster NICHT schließen, es wird"
    echo "*    automatisch geschlossen sobald Jameica"
    echo "*    beendet wurde."
    echo "**********"
    echo "${USER}@${HOSTNAME}\r\n" > $LOCKFILE_MY 
    # In das .app-Verzeichnis wechseln
    cd $JAMEICA_APP_PATH
    # Jameica nicht über die jameica.app aufrufen sondern mit java das JAR-Archiv aufrufen
    # da sonst der Batch gleich weiterläuft und nicht wartet bis Jameica beendet wurde.
    $("${JAVACMD}" -Xdock:name="Jameica" -Xmx256m -XstartOnFirstThread -jar "${JAMEICA_APP_PATH}/jameica-macos64.jar" -f "${JAMEICA_DATADIR}" -o "$@" > /dev/null) > /dev/null
    rm -f $LOCKFILE_MY
fi
Beim Testen sind mir in Deiner Windows-Version unter Windows 10 noch zwei Bugs aufgefallen.
  • Wenn das Locking-Skript nicht im jameica-Programmordner liegt stimmen die Pfade nicht. Das kann man heilen, wenn man vor dem Programmstart noch ein cd %JAMEICA_PROGDIR% einfügt.
  • Das Auslesen des Benutzernamens und schreiben in die Variable JAMEICA_USER hat überhaupt nicht funktioniert. Das liegt aus meiner Sicht daran, dass die Variable auf der linken Seite der Zuweisung auch in % gehüllt ist, was aus meiner Sicht dort nicht sinnvoll ist. Habe die Zeile so abgeändert: set /p JAMEICA_USER=<%LOCKFILE_MY%
Das komplette, bei mir funktionierende Windows-Locking-Skript sieht dann so aus:

Code: Alles auswählen

@echo off
 rem Nachfolgende drei set-Zeilen bitte anpassen
 rem JAMEICA_DATADIR muss angegeben werden, selbst wenn der Standard-Pfad verwendet wird
 rem JAMEICA_3264 muss -je nach eigener Umgebung- auf 32 oder 64 eingestellt werden
 set JAMEICA_PROGDIR=C:\Program Files (x86)\jameica\
 set JAMEICA_DATADIR=C:\Users\<DeinBenutzername>\Documents\jameica\
 set JAMEICA_3264=32
 rem
 rem Ab hier keine Änderungen mehr nötig
 set JAMEICA_BIN=jameica-win32.exe
 set JAMEICA_JAR=jameica-win32.jar
 if %JAMEICA_3264%==64 (
   set JAMEICA_BIN=jameica-win64.exe
   set JAMEICA_JAR=jameica-win64.jar
 )
 set LOCKFILE_MY="%JAMEICA_DATADIR%\my.lock"
 rem Prüfen ob Lockfile exitiert 
 if exist %LOCKFILE_MY% goto jameica_in_use
   goto jameica_start
 :jameica_start
 echo **********
 echo * Jameica wird gestartet
 echo **********
 echo * ACHTUNG:
 echo *    Dieses Fenster NICHT schliessen, es wird
 echo *    automatisch geschlossen sobald Jameica
 echo *    beendet wurde.
 echo **********
 echo %USERNAME%@%COMPUTERNAME% > %LOCKFILE_MY%
 rem Jameica nicht mit der Starter-EXE aufrufen sondern mit javaw das JAR-Archiv aufrufen
 rem da sonst der Batch gleich weiterläuft und nicht wartet bis Jameica beendet wurde.
 cd %JAMEICA_PROGDIR%
 javaw -jar "%JAMEICA_PROGDIR%\%JAMEICA_JAR%" -f "%JAMEICA_DATADIR%"
 del %LOCKFILE_MY%
 goto ende
 :jameica_in_use
 echo %LOCKFILE_MY%
 set /p JAMEICA_USER=<%LOCKFILE_MY%
 echo **********
 echo * Jameica wird gerade benutzt von
 echo *      %JAMEICA_USER%
 echo **********
 echo * Jameica kann erst gestartet
 echo * werden wenn obiger Benutzer das
 echo * Programm beendet hat.
 echo **********
 pause
 goto ende
 :ende
Vielleicht ist DIG so nett und kann die angepasste Windows-Version verifizieren und dann die neue Windows-Version sowie die neue Mac-Version (die auch so unter Linux laufen sollte) in den jverein-Wiki-Artikel packen.

Viele Grüße
Philipp
phfeustel
Beiträge: 7
Registriert: Montag 7. September 2015, 19:29
Verein: Junge Verlagsmenschen e.V.
Mitglieder: 650
JVerein-Version: 2.8.11
Betriebssystem: Mac OSX

Re: Datenaustausch, gemeinsamer Datenzugriff und Multiuser

Beitrag von phfeustel »

Hi Harry,
achso wegen der relativen Pfade: Ja, das sollte grundsätzlich kein Problem sein, das geht unter Mac OSX und Linux genauso wie unter Windows. Sie müssen halt nur stimmen ;)

Vielleicht probiert Ihr es einfach mal aus und schreibt mir, ob es klappt.

Viele Grüße
Philipp
hasi63
Beiträge: 18
Registriert: Montag 14. September 2015, 08:31
JVerein-Version: 2.8.11
Betriebssystem: Win8.1 64Bit

Re: Datenaustausch, gemeinsamer Datenzugriff und Multiuser

Beitrag von hasi63 »

Philipp... du bist ein Teufelskerl 8-) :D

Zur Zeit habe ich gerade keinen MAC zur Hand (mein "Chef" geht lieber in die Ferien :lol: )....
Ich muss mal schauen ob sich mein Schwager erbarmt und ev. den Code mal durch testet... Sobald ich mehr weiss werde ich dies gerne melden.

Unter dem Windowscode hast du auch noch eine Anpassung gemacht...Du bist einfach ein König :mrgreen: . Diesen werde ich mal anschauen (aber ev. erst nächste Woche... bin gerade etwas im Stress)..

Als erstes aber mal einen ganz herzlichen dank für deine Hilfe Philipp. Du hast mir das Leben gerade erleichtert :lol:

Gruss

Harry
Benutzeravatar
DIG
Beiträge: 478
Registriert: Freitag 11. Januar 2013, 00:02
Verein: Deutsch-Isländische Gesellschaft e.V.
Mitglieder: 250
JVerein-Version: aktuellste
Betriebssystem: Win
Wohnort: Krefeld

Re: Datenaustausch, gemeinsamer Datenzugriff und Multiuser

Beitrag von DIG »

Die Skripte habe ich im Wiki augetauscht/eingefügt.
Viele Grüße,
Carsten
hasi63
Beiträge: 18
Registriert: Montag 14. September 2015, 08:31
JVerein-Version: 2.8.11
Betriebssystem: Win8.1 64Bit

Re: Datenaustausch, gemeinsamer Datenzugriff und Multiuser

Beitrag von hasi63 »

Hallo zusammen
so, nun konnte ich einiges austesten. Leider habe ich JVerein in unserem Verein nicht einbringen können. Die wollen eine Webbasierende Verwaltung..

Ich konnte aber noch einen Fehler (unter Windows) ermitteln:

Code: Alles auswählen

 if %JAMEICA_3264%==64 (
Diese Zeile ist falsch. Richtig wäre:

Code: Alles auswählen

if "%JAMEICA_3264%"==64 (
(beachtet die Anführungszeichen)

Folgende Zeilen könnten auch ersetzt werden:

Code: Alles auswählen

 set JAMEICA_PROGDIR=C:\Program Files (x86)\jameica\
 set JAMEICA_DATADIR=C:\Users\<DeinBenutzername>\Documents\jameica\
Ersetzen durch:

Code: Alles auswählen

 set JAMEICA_PROGDIR=%~dp0\Programm\
 set JAMEICA_DATADIR=%~dp0\Datenbank\
Der Befehl "%~dp0\" setzt den Pointer auf das aktuelle Verzeichnis und ich wechsle dann zusätzlich ins Unterverzeichnis Programm resp. Datenbank. So kann die Batchdatei eigentlich in einem übergeordneten Verzeichnis stehen und (gerade mit der Dorpbox) kann dann ins entsprechende Unterverzeichnis gewechselt werden....

Gruss und danke

Harry
Benutzeravatar
DIG
Beiträge: 478
Registriert: Freitag 11. Januar 2013, 00:02
Verein: Deutsch-Isländische Gesellschaft e.V.
Mitglieder: 250
JVerein-Version: aktuellste
Betriebssystem: Win
Wohnort: Krefeld

jameica.webadmin für Datenaustausch, gemeinsamer Datenzugriff und Multiuser?

Beitrag von DIG »

Hallo zusammen,

bislang habe ich mich mit dem jameica.webadmin nicht beschäftigt und diesen nach dem Motto 'was man eh nicht benutzt brucht man auch nicht' gar nicht erst installiert.

Daher hier mal die Frage in die Runde:
  • Wer benutzt den Browser (d.h. jameica.webadmin) für JVerein?
    • Unter welcher Umgebung (OS, lokal/gehostet, ...)?
    • Erfahrungen?
  • Hat da auch jemand schon mal einen Mehrbenutzerzugriff damit versucht?
    • Unter welcher Umgebung (OS, lokal/gehostet, ...)?
    • Erfahrungen?
Viele Grüße und alles Gute für 2016,
Carsten
Viele Grüße,
Carsten
Antworten