Intern

(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Vector Kacheln von OSM generieren)
Zeile 265: Zeile 265:
 
** einmal den "google_sales" Ordner im gewünschten Jahr
 
** einmal den "google_sales" Ordner im gewünschten Jahr
 
** einmal den "apple" Ordner im gewünschten Jahr
 
** einmal den "apple" Ordner im gewünschten Jahr
 +
== Styles mit git commit ==
 +
* git -a -m "commit message"
 +
* git push

Version vom 18. September 2018, 13:38 Uhr

Inhaltsverzeichnis

Neues Produkt einfügen

New Form and List

  • Neue Produkt-ID (Pxx) Content-ID am Server einstellen (Michi)
  • LicenseManager.java neue ContentIdAndStatus anlegen
  • Produkt-Infos in Wiki anlegen
  • Neues Produkt unter Artikel im Webshop anlegen, WICHTIG: Auf Startseite zeigen anklicken
  • Am Server root@apemap.com in der datei /var/www/shop3/inc/xtc_get_order_data.inc.php die neuen produkteinträge aktualisieren
  • Am Server root@lic.apemap.com die dateien /var/apemap/products/

Pxx.email.mf Pxx.product.tpl anlegen und anpassen

  • Produkte in den Stores anlegen, Preise gleich am Anfang richtig setzen, aufpassen:

Produkt-IDs (können nachträglich nicht geändert werden) Steuern!

Newsletter Versenden

  • SSH Verbindung zu apemap.com aufbauen und den MySql Port tunneln damit von localhost ein Zugriff auf die MySqlDatenbank besteht.
  • Mit "java -jar apemap_exec.jar showaddresses" alle Adressen aus der Datenbank Listen und in File pipen z.B.: "addr.txt".
java -jar apemap_exec.jar showaddresses > addr.txt
  • Entfernen von Addressen, die nicht gültig sind oder sonst geblacklisted wurden. Dazu müssen sich alle zu entfernenden Email-Adressen in einer eigenen Datei (zeilenweise) befinden (Eine Email pro Zeile).
java -jar apemap_exec.jar showaddresses addr.txt blacklist.txt > addr2.txt
  • In der Datei "addr2.txt" befinden sich nun alle Email Adressen an die der Newsletter versendet werden soll.
  • Newsletter mit einem Email-Programm entwerfen, das in der Lage ist Email Entwürfe als MIME (meist *.eml) zu speichern (z.B. Windows Mail).
  • Dann die Email als z.B.: "Newsletter2013.eml" speichern.
  • Newsletter2013.eml und addr2.txt auf den dedicated Server kopieren.
  • Nesletter versenden:
java -jar apemap_exec.jar massmail addr2.txt Newsletter2013.eml 5000 > currentmail.txt &
.
.
.
// Um am Anfang das Ganze etwas zu verfolgen:
tail -f currentmail.txt

Die Nummer 5000 ist an sich eine beliebige Nummer unter dieser ID wird der Newsletter und die Adressen an die er geschickt wurde in der Datenbank abgelegt. Man sollte sich also bemühen immer eine neue ID zu verwenden, die noch nicht verwendet wurde, damit die Newsletter schön getrennt voneinander sind.

  • ACHTUNG: Bevor das gestartet den Newsletter zum Test an eine kleinere AdressListe mit nur internen Adressen "test.adr.txt" senden, um die Qualität nochmal zu prüfen.


  • Man kann auch eine Blacklist in die Datenbank rückspielen, dabei wird für alle Email-Addressen in der Blacklist ein "Diabled" Flag in der Datenbank gesetzt.
java -jar apemap_exec.java disablemail blacklist.txt

Anm.: Wenn die DB Verbindung über einen SSH Tunnel läuft, dann kann das etwas dauern, da jede Email als einzelnes UPDATE deaktiviert wird und durch den SSH-Tunnel recht ordentliche Latenzen entstehen.

Google Wallet Lizenzen einspielen

  • Bei goolge play anmelden: https://play.google.com/apps/publish
  • Dort dann (links) auf Finanzbereicht (drittes von oben)
  • Rechts steht 2013 mit einem Pfeil nach unten => auf diesen Clicken, dann sieht man alle Berichte für 2013
  • Dann auf den Bericht des aktuellen Montats klicken (z.Z. Dez 2013) => Es wird ein "salesreport_201312.zip" heruntergeladen.
  • In unserem Support Tool auf "Google Checkout" => "Import to Server" => Dann die heruntergeladene Datei auswählen.
  • Nun werden alle Transaktionen mit den am Server vorhandenen abgeglichen und fehlende nach Rückfrage angelegt.
  • Danach wird dann für die Google-Transaktions Nummer im Support Tool die Lizenz gefunden.

Karten auf den Server übertragen und einrichten

  • Die lokal erzeugten Karten-Daten mit Winrar in ein RAR Archiv packen.
    • Dabei die Kompressionsmethode auf "Speichern" (=Store) stellen, da ein zusätzliches komprimieren der Bilddaten nur unnötig Zeit verbraucht und keine nennenswerte Datenreduktion bringt.
    • Dar Archiv mit "Split to volumesize" in Dateien von ca. 1GByte splitten, damit es zu keinen Problemen mit zu großen Dateien kommt.
  • Die Archiv Dateien mit FileZilla auf den Server laden (Als Zielordner /root/karte/MeinKartenName.
  • Dann mit putty zum Server verbinden und in diesen Ordner wechseln, und das Archiv entpacken:
unrar x MyArchiv.part1.rar
  • Nun sollte der Ordner mit deiner Karte im aktuellen Ordner befinden, z.B.: amap_net
  • Dieser Ordner muss nun an den richtigen Ort verschoben werden:
 mv ./amap_net /var/www/net/512x512/maps/amap_net

ACHTUNG: Beim Verschieben des Kartenordners unbedingt beim Ziel hinten den Ordnernamen (zB .../amap_net) wieder angeben sonst wird der komplette "maps" Ordner durch die neue Karte ersetzt und all Karten sind gelöscht, da ist Linux nicht kleinlich :-)

  • Einen link zur neuen Karte vom 256x256 folder erzeugen, damit auch die Handys, die mit 256x256 suchen die neue Karte bekommen:
cd /var/www/net/256x256/maps
ln -s /var/www/net/512x512/maps/amap_net/ ./amap_net

Karte in neue proprtiesX.mf integrieren

  • Eine Kopie der propertiesX.mf Datei mit der nächsten freien Nummer erzeugen, z.B.:
cd /var/www/net
cp properties5.mf properties6.mf
  • Die Datei editieren und einen Eintrag für die neue Karte hinzufügen

PK Files für neue Karte erzeugen

  • In den Ordner "/root/preparedmaps" wechseln.
  • Dort ein neues shell-script pks_xxx.bat erzeugen und ausführen.
  • Die neuen Pakete werden im Ordner "/var/www/net/preparedmaps/data2" erzeugt.
  • Nach dem erzeugen den Ordner nach "/var/www/net/preparedmaps/data" verschieben.
  • Danach das script "/root/preparedmaps/fillatlas.sh" ausführen.
  • Dann das Kartenpaket in die Index-Datei "/var/www/net/preparedmaps/preparedMapsX.mf" eintragen und bei Bedarf die Nummer erhöhen.

PK File mit ant net erzeugen

  • In \wmdev\java\build.xml nach "net" suchen
  • Dort dann <property name="propertiesmf_noext" value="properties7" /> den Wert value="propertiesXXX" XXX auf die neue Nummer setzen
  • ACHTUNG: Die Nummer muss im Regelfall erhöht werden, am Server werden sonst für alle bestehenden User die neuen Properties schon aktiviert, im Zweifelsfall Michi fragen!
  • Dann in der Konsole (\wmdev\java\) ant starten mit: ant net

apemap Heli

Apemap Heli

Kompass Karte AT herunterladen und übertragen

Poi Datenbank bauen

  1. Aktuelles OSM File für Europa im pbf Format herunterladen (z.B. http://download.geofabrik.de/europe-latest.osm.pbf)
  2. Umbenennen in eu.pbf und Kopieren in das Verzeichnis <testdata>/osm/
  3. Ausführen der Klasse ApemapPcTest/test.onyx.mapstore.ImportPois.java (importiert Osm pois & merge mit poi.csv & merge mit feratel webcams)
  4. Ausführen der Klasse ApemapPcTest/test.onyx.mapstore.ClusterPoisTest.java (führt Poi Duplikatsuche und statisches Clustering durch)
  5. Die Datenbank wird unter <testdata>/processed/eu.db abgelegt
  6. Öffnen der eu.db mit Sqlite Anwendung (z.B. Sqlite Manager Extension für Firefox)
  7. Ausführen der folgenden SQL Befehle
    1. update tPointIndex set DataSource=NULL, DataSourceId=NULL, Modified=NULL
    2. vacuum
    3. analyze
  8. Fertig

Samsung Build

  1. In dev/java/android/build.xml die Zeile <src path="../src/lib/onyx.general.android.samsung" /> aktivieren (ist default auskommentiert)
  2. Build mit: ant samsung all (samsung MUSS vor all stehen)
  3. In AndroidAppPaymentFactory.java checken ob das AppPaymentSamsung (#ifdef) verwendet wird
  4. Versions-Nr etc. in build.xml und SamsungManifest.xml setzen
  5. Neue InApp Produkte im Samsung Store einfügen. Wichtig: korrekte Product-IDs und Karten: Consumable
  6. Die neue APK in der Sektion Binary mit Modify hochladen, (neue) Devices wählen

Buchungen von Shop Länder zuordnen

  • Von der SHOP DB folendes SQL statement ausführen (Datum auf Anfang des gewünschten Zeitraums ändern):
SELECT orders_id, customers_country  FROM `orders` WHERE `date_purchased` > '2015-01-01 00:00:00' AND (customers_country='Deutschland' OR customers_country='Switzerland')
  • Dann das Ergebnis als CSV Datei exportieren.
  • Den CsvBucher öffnen => Options => Set Countries
  • Die oben exportierte Datei auswählen.
  • Danach auf "Datei => Speichern"
  • Nun sollten alle Bestellungen zu den Länderkonten zugeordnet sein.

OpenMapTile Server einrichten

Install and configure OpenMapTile Server

  1. General documentation
    1. http://tileserver.readthedocs.io/en/latest/installation.html
    2. https://openmaptiles.org/docs
    3. Step-by-step instructions below
  2. Install Docker: https://docs.docker.com/engine/installation/
  3. Create directory for map tile server, e.g.
    1. mkdir tileserver
  4. Download tiles to tileserver/data directory from https://openmaptiles.com/downloads/planet/ (login mit office@apemap.com)
    1. Vector tiles
    2. Contour lines
    3. Hill shading
  5. Start tileserver:
    1. cd tileserver
    2. docker run -v $(pwd):/data -p 8101:80 klokantech/tileserver-gl &
  6. Goto http://lic.apemap.at:8101 and check if the tileserver is running and serving tiles
  7. Tile url for osm-bright scheme is eg: http://lic.apemap.at:8101/styles/osm-bright/rendered/{z}/{x}/{y}.png
  8. Cheat sheet
    1. List running docker images incl. container ID: docker ps
    2. Create bash for running docker image: docker exec -i -t <docker-container-id> /bin/bash
    3. Copy local files to apemap server: scp -P 2222 <path-to-local-file> root@lic.apemap.at:<destination-path>

Configuration

  1. General documentation
    1. http://tileserver.readthedocs.io/en/latest/config.html
    2. https://openmaptiles.org/docs/style/mapbox-studio/
    3. Step-by-step instructions below
  2. Create Config.json based on https://github.com/klokantech/tileserver-gl-data/blob/master/config.json and copy to tileserver/data
  3. Create bash for running docker image: docker exec -i -t <docker-container-id> /bin/bash
  4. Copy styles from /usr/src/app/node_modules/tileserver-gl-styles/styles to /data/styles
    1. docker cp <docker-container-id>:/usr/src/app/node_modules/tileserver-gl-styles/styles /data
  5. Copy all fonts from /usr/src/app/node_modules/tileserver-gl-styles/fonts to /data/fonts kopieren
    1. docker cp <docker-container-id>:/usr/src/app/node_modules/tileserver-gl-styles/fonts /data
  6. Choose one style from tileserver/data/styles/... and upload to mapbox-studio (follow instructions under https://openmaptiles.org/docs/style/mapbox-studio)
  7. Edit style in mapbox-studio
    1. Style colors and appearance of layer data
    2. Create and add SVG icons
  8. Download style under https://www.mapbox.com/studio/styles/ and upload to tileserver/data/style/...
  9. Create sprite files with SpriteZero
    1. Install SpriteZero
      1. npm install -g @mapbox/spritezero-cli
    2. Copy all svg sprites
      1. mkdir svg && cp <src-path>/*.svg ./svg
    3. Create sprites
      1. spritezero icons ./svg/ 
    4. Copy generated sprites into style folder alongside style.json
      1. cp icons* tileserver/data/style/...

Vector Kacheln von OSM generieren

  1. Allgemeine Dokumentation
    1. https://github.com/openmaptiles/openmaptiles
    2. openmaptile-tools installieren:
      pip install openmaptiles-tools
    3. Konkrete Schritte im Folgenden
  2. openmaptiles repository clonen
    1. git clone https://github.com/openmaptiles/openmaptiles.git && cd openmaptiles
  3. Pakete aktualisieren und einrichten
    1. ./quickstart.sh
  4. Mappings generieren
    1. make
  5. Postgresql hochfahren
    1. docker-compose up -d postgres
  6. Allgemeine OSM Daten importieren
    1. docker-compose run import-water && docker-compose run import-natural-earth && docker-compose run import-lakelines && docker-compose run import-osmborder && docker-compose run import-wikidata
  7. Layer Definitionen im Verzeichnis openmaptiles/layers anpassen
    1. layer.yaml anpassen: Dokumentation unter https://github.com/openmaptiles/openmaptiles-tools
    2. mappings.yaml anpassen: Dokumentation unter https://imposm.org/docs/imposm3/latest/mapping.html
    3. Referenzierte sql Schemas anpassen
  8. Alle Layer im openmaptiles/openmaptiles.yaml hinzufügen
  9. OSM Daten importieren
    1. gewünschte OSM Daten als .pbf in Data-Verzeichnis speichern (alle anderen .pbf Dateien löschen)
    2. make clean && docker run -v $(pwd):/tileset openmaptiles/openmaptiles-tools make && docker-compose run import-osm && docker-compose run import-sql
  10. Gewünschte Bounding Box und Zoom-Stufen in openmaptiles/.env definieren
    1. BBOX=12.98300, 47.63805, 13.20822, 47.84768
    2. MIN_ZOOM=0
    3. MAX_ZOOM=14
  11. Vector Kacheln generieren
    1. docker-compose run generate-vectortiles
    2. Alternativ:
    3. make clean && docker run -v $(pwd):/tileset openmaptiles/openmaptiles-tools make && docker-compose run import-osm && docker-compose run import-sql && docker-compose run generate-vectortiles
    4. Resultat wird unter openmaptiles/data/tiles.mbtiles gespeichert

Karten Icons generieren

  1. Install spritezero-cli
    1. npm install -g @mapbox/spritezero-cli
  2. Download style including svg icons: Mapbox Studio / Styles / ... / Download style
  3. Generate icon files (assuming svg icons are in folder ./icons
    1. spritezero icons ./icons && spritezero icons@2x ./icons --retina
  4. Icon files icons.png, icons.json, icons@2x.png, icons@2x.json will be generated
  5. Copy generated icon files next to style.json

OSM Extrakt erzeugen

  1. Osmosis herunterladen: http://wiki.openstreetmap.org/wiki/Osmosis#Downloading
  2. OSM pbf von Geofabrik herunterladen: http://download.geofabrik.de/
  3. Extrakt erstellen
    1. osmosis  --read-pbf file=<input.osm.pbf> --bounding-box top=47.6894326 left=13.0635377 bottom=47.669835 right=13.107964 completeWays=yes completeRelations=yes cascadingRelations=yes clipIncompleteEntities=yes --write-pbf file=<output.osm.pbf>
    2. osmosis  --read-pbf file=salzburg.osm.pbf --bounding-box top=47.6894326 left=13.0635377 bottom=47.669835 right=13.107964 completeWays=yes completeRelations=yes cascadingRelations=yes clipIncompleteEntities=yes --write-pbf file=barmstein.osm.pbf
    3. osmosis  --read-pbf file=salzburg.osm.pbf --bounding-box top=47.8140566 left=13.092783 bottom=47.7888406 right=13.129318 completeWays=yes completeRelations=yes cascadingRelations=yes clipIncompleteEntities=yes --write-pbf file=gaisberg.osm.pbf
    4. osmosis  --read-pbf file=austria.osm.pbf --bounding-box top=47.84768 left=12.98300 bottom=47.63805 right=13.20822 completeWays=yes completeRelations=yes cascadingRelations=yes clipIncompleteEntities=yes --write-pbf file=salzburghallein.osm.pbf
    5. osmosis  --read-pbf file=austria.osm.pbf --bounding-box top=47.84768 left=12.98300 bottom=47.63805 right=13.20822 completeWays=yes completeRelations=yes cascadingRelations=yes clipIncompleteEntities=yes --write-pbf file=salzburghallein.osm.pbf
    6. osmosis  --read-pbf file=austria.osm.pbf --bounding-box top=47.99287 left=12.72213 bottom=47.52203 right=13.26595 completeWays=yes completeRelations=yes cascadingRelations=yes clipIncompleteEntities=yes --write-pbf file=salzburghalleinseekirchen.osm.pbf
    7. osmosis  --read-pbf file=austria.osm.pbf --bounding-box top=47.99287 left=12.72213 bottom=47.410985 right=13.887130 completeWays=yes completeRelations=yes cascadingRelations=yes clipIncompleteEntities=yes --write-pbf file=salzburghalleinseekirchendachstein.osm.pbf
    8. osmosis  --read-pbf file=austria.osm.pbf --bounding-box top=47.8832 left=13.847 bottom=47.8736 right=13.8663 completeWays=yes completeRelations=yes cascadingRelations=yes clipIncompleteEntities=yes --write-pbf file=Laudachsee.osm.pbf
  4. Für Import in JOSM in osm file konvertieren
    1. osmosis  --read-pbf file=salzburghalleinseekirchen.osm.pbf --write-xml file=salzburghalleinseekirchen.osm

Produkt Statistik

  • Apemap Support Tool öffnen
  • Oben in der Menüzeile "Google Checkout" => "Statistic"
  • Dann "Ordner auswählen"
    • einmal den "google_sales" Ordner im gewünschten Jahr
    • einmal den "apple" Ordner im gewünschten Jahr

Styles mit git commit

  • git -a -m "commit message"
  • git push
Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Werkzeuge
Translate