Benutzer-Werkzeuge

Webseiten-Werkzeuge


openantrag

Dies ist eine alte Version des Dokuments!


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?

openantrag.1529488187.txt.gz · Zuletzt geändert: 20.06.2018 09:49 von thooge

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki