Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Openantrag
Die folgenden Informationen sind unsortiert und das Ergebnis ersten Testens. Keine Garantie, daß am Ende etwas sinnvolles herauskommt.
Bereitgestellte Funktionen:
- RSS-Feed
- Schnittstelle zu Twitter
- Benachrichtigungen
- Pushbullet
- Pushover
Windows
Es wird Visual Studio 2017 Community verwendet. RavenDB in der Version 2.5. Ziel ist es das ganze erst einmal lauffähig zu bekommen. Anschließend dann verwenden aktueller Versionen der verwendeten Komponenten.
RavenDB
Version 2.5:
- ZIP herunterladen
- auspacken
- starten
- Datenbank anlegen
- Dokument anlegen
Version 4.0.5:
- herunterladen Version 4.0.5 (Original war Version 2.5)
- auspacken
- starten über die Powershell (Version 4 benötigt)
- Powershell Ausführungsrichtlinie: Set-ExecutionPolicy Unrestricted
- Für Entwicklung: run.ps1 starten
- Server: 127.0.0.1:8080
- Datenbank OpenAntrag anlegen
- Neues Dokument anlegen
OpenAntrag
Berechtigungen
Über ASP.NET Xml Security Providers: https://docs.microsoft.com/en-us/iis/application-frameworks/building-and-running-aspnet-applications/how-to-use-the-sample-read-only-xml-membership-and-role-providers-with-iis
TODO Genaues Format noch nicht geklärt
- Roles.xml
<?xml version="1.0" encoding="utf-8"?> <Roles> </Roles>
- Users.xml
<?xml version="1.0" encoding="utf-8"?> <Users> <User> <UserName>Bob</UserName> <Password>geheim</Password> <EMail>bob@contoso.com</EMail> <Roles>Members</Roles> </User> <User> <UserName>Alice</UserName> <Password>geheim</Password> <EMail>alice@contoso.com</EMail> <Roles>Members,Administrators</Roles> </User> </Users>
Anwendungseinstellungen
Settings:
Setting | Beschreibung |
---|---|
PushbulletApiUrl | |
PushbulletAccessToken | |
PushoverApiUrl | |
PushoverAppToken | |
PushoverUserKey | |
TwitterConsumerKey | |
TwitterConsumerSecret | |
TwitterAccessToken | |
TwitterAccessTokenSecret | |
TwitterRequestUrl | |
PiratlyApiKey | |
SendMail | |
InfoMailCC | |
MailSender | |
SendTweets | |
SendPushoverNotification | |
DefaultPagerListPageSize | |
DefaultPagerListWingLength | |
RandomKey_AllowCapitalLetters | |
RandomKey_Letters | |
RandomKey_Numbers | |
NotificationPageCount | |
ProposalListCount |
- Representations.xml
<?xml version="1.0" encoding="utf-8"?> <representations> <item id="999" key="testparlament" status="0" api-key="..." label="Test" color="#999" name="Test-Parlament" name2="Parlament (Test)" level="4" federal="" map-url="" group-type="1" group-name="Test" link="" phone="" twitter="" mail="test@mail.de" info-mail="test@mail.de"> <representatives> <item id="1" key="hans-mustermann" name="Hans Mustermann" mail="" phone="" twitter="" party="Piratenpartei" /> </representatives> <committees> <item id="1" key="c1" caption="C1test" name="" url=""></item> </committees> <process> <step id="1" def="eingang" caption="Eingang des Antrags" short-caption="Antragseingang"> <next> <step id="2" /> </next> </step> <step id="2" def="pruefung" caption="Antrag in Prüfung" short-caption="Antrag in Prüfung"> <next> <step id="3" /> </next> </step> <step id="3" def="erledigt" success-story="true" caption="Antrag erledigt" short-caption="Antrag erledigt"> <next /> </step> </process> </item> </representations>
Datenbankanbindung
Verbindung zur Datenbank:
- web.config
<?xml version="1.0" encoding="utf-8"?> <configuration> <system.web> <compilation debug="true" targetFramework="4.5.1" /> <httpRuntime targetFramework="4.5.1" /> </system.web> <connectionStrings> <add name="RavenDBServer" connectionString="Url=http://localhost:8080;Database=OpenAntrag"/> </connectionStrings> </configuration>
Die Client-DLL von RavenDB muß zu der Version des Servers passen! Mit dem 2.5er Client kann keine Verbindung zum 4.0.5er Server hergestellt werden.
Weitere anzulegende Dateien
Z.B. in App_Data:
- Verzeichnis XmlTemplates
- die Dateien können in die übergeordnete Ebene „eingemischt werden“
- vermutlich damit man nicht immer alles ausfüllen muß
- Teaser.xml
Linux
Basis für den ganzen Spaß ist .NET Core.
Abhängigkeiten in Debian Stretch
apt-get install liblttng-ust0 libcurl3 libkrb5-3 zlib1g libssl1.0.2 libicu57 libunwind8 libuuid1
.NET unter Debian. Über das folgende Repository kann man die Pakete manuell herunterladen ohne sich die Microsoft-Repositories in sein System einbinden zu müssen:
https://packages.microsoft.com/debian/9/prod/pool/main/d/
Installieren der für RavenDB notwendigen Pakete:
dpkg -i dotnet-host-2.0.7-debian.9-x64.deb dpkg -i dotnet-hostfxr-2.0.7-debian.9-x64.deb dpkg -i dotnet-runtime-2.0.7-debian.9-x64.deb
RavenDB
cd /tmp https://ravendb.net/download tar xjf RavenDB-4.0.5-linux-x64.tar.bz2 cd RavenDB ./run.sh
Anschließend öffnet sich ein Browser über den die weitere Konfiguration vorgenommen werden kann.
ASP .NET
dpkg -i aspnetcore-store-2.0.0-debian.9-x64.deb dpkg -i aspnetcore-store-2.0.3-debian.9-x64.deb dpkg -i aspnetcore-store-2.0.5-debian.9-x64.deb dpkg -i aspnetcore-store-2.0.6-debian.9-x64.deb dpkg -i aspnetcore-store-2.0.7-debian.9-x64.deb dpkg -i dotnet-hosting-2.0.7-debian.9-x64.deb
Nachbau
Ein Nachbau könnte im Stil von Openslides erstellt werden:
- Python
- Django
Damit könnte ggf. auch eine Interoperabilität geschaffen werden?