Uweheuer: Difference between revisions
| Line 79: | Line 79: | ||
* open C:\Uwes\WinScripts\ExportOutlookContactsbyVBA4Excel.xlsm | * open C:\Uwes\WinScripts\ExportOutlookContactsbyVBA4Excel.xlsm | ||
* open Entwicklertools->Visual Basic | * open Entwicklertools->Visual Basic | ||
* start Makro OutlookContactsToExcelWorksheet2 per Icon in top menu bar | * start Makro OutlookContactsToExcelWorksheet2 per Icon in top menu bar => this will create the file C:\Uwes\Programme\Java\JBoss\jboss-eap-6.1.0\jboss-eap-6.1\standalone\data\uweheuer\OutlookContactExportbyVBA4Excel.csv | ||
* call web service http://localhost/uweheuer/services/ContactServices?UpdateContactsFromServerFile | * call web service http://localhost/uweheuer/services/ContactServices?UpdateContactsFromServerFile | ||
Revision as of 11:09, 10 April 2015
Concept
Encryption
Notes are encrypted by own algorithm implemented in Present.js, bookmark comments are encrypted by AES. Client-side decryption is done by CryptoJS (in detail aes.js and mode-ecb-min.js are used from the downloaded zip-file).
- fool = user
- indiscernible = (unsichtbar) private token to hash a note
- camouflage = (Tarnung); hashed string; consists of chunks of 3 chars, the last chars are the XOR of string to hash and key converted to base 25 filled up to 3 with random letters not used in base.
- haze = (Nebel) actual timestamp
- bft = private token to hash bookmark comments (JS: amFrb2J0aGltbzEyMzQ1Ng==, Java: jakobthimo123456)
- notepresent = package of present and camouflaged note
- present = package of fool, haze, camouflage of haze; used to verify if the notepresent sent was camouflaged correctly and valid, by checking if the unwrapped camouflage is equal to haze
Bookmarks
- root node identified by name = 'My Bookmarks' or id = 1
Tooltip
- implemented by using PowerTip
Notes
Saving a note
- see sequence diagram onSaveNoteButtonTapped()
Documentation
- s. <PROJECT_DIR>/doc/uweheuer.vsd
- s. in eclipse project 'uweheuer_new' sub folder 'vpproject/diagrams' (Visual Paradigm Plus)
- Client Server Communication
- Synchronization
Initial Installation
Create and fill database mysql505 per mysql tools. Copy war-file or directory tree to the webapp directory of the application server. Adjust Apache or Tomcat for proxying to JBoss (HomePCNew#Apache)
Persistence
- DB configuration see <PROJECT_DIR>\src\WEB-INF\classes\META-INF\persistence.xml and JBoss configuration, which defines the driver and the database connection string, which includes the DB name
- EntityManagementUtil creates two EntityManagerFactories, one for bookmarks (definition see persistence.xml) and one for uweswiki (definition see persistence.xml)
Synchronization
- see sequence diagram 'Synchronization'
- init configuration in web.xml
Releases
- Migration from Axis 1 to Axis 2
- Migration from Hibernate to JPA implemented by Hibernate
- Migration from Runtime JBoss 4.2 to JBoss 7.1
Operation
Generierung and Deployment
Die Generierung erfolgt über Ant (s. build.xml and Documentation->Build Process).
Shell
ant [deploy_laptop_jboss7|deploy_home|deploy_vserverjboss7]
Eclipse
Project -> Build Project ruft das target deploy_laptop auf.
Update Applet
- press x (clear class loader cache) in java console
- press 'Bookmark Applets' in menu
Crypt Data Handling
Die Generierung eines leeren Data-Files namens 'data.crypt' erfolgt über das Kommando:
C:\Uwes\eclipse\workspace\uweheuer\build\class>java server.CreateCryptDataFile.
Die Datei muss in das Verzeichnis <TOMCAT_HOME>/webapps/uweheuer/data kopiert werden z.B. mit
C:\Uwes\eclipse\workspace\uweheuer\build\class>copy data.crypt \Uwes\xampp\tomcat\webapps\uweheuer\data
Bookmarks
Tree Versioning
- bookmark tree version is set to latest update version
Contacts
Update Contacts on Local Laptop
- open C:\Uwes\WinScripts\ExportOutlookContactsbyVBA4Excel.xlsm
- open Entwicklertools->Visual Basic
- start Makro OutlookContactsToExcelWorksheet2 per Icon in top menu bar => this will create the file C:\Uwes\Programme\Java\JBoss\jboss-eap-6.1.0\jboss-eap-6.1\standalone\data\uweheuer\OutlookContactExportbyVBA4Excel.csv
- call web service http://localhost/uweheuer/services/ContactServices?UpdateContactsFromServerFile
Logging and Debuging
Logging
Configuration is done via log4j. Configuration in JBoss 7 here done by adding a uweheuer log category and a UWEHEUER_FILE log handler. The coding uses LogUtil.java an the static method. It creates a logger named uweheuer which is used through out the code.
Logging on the client side is done via the printDebug() method, which goes at least to the java console.
Eclipse Debugging
Debug Configurations
- uweheuer_applet_laptop
- uweheuer_laptop