Benutzer-Werkzeuge

Webseiten-Werkzeuge


openantrag

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
openantrag [20.06.2018 09:49] – [Datenbankanbindung] thoogeopenantrag [23.06.2018 15:33] (aktuell) – [Parlamente] thooge
Zeile 10: Zeile 10:
     * Pushbullet     * Pushbullet
     * Pushover     * Pushover
 +
 ===== Windows ===== ===== Windows =====
  
Zeile 16: Zeile 17:
 zu bekommen. Anschließend dann verwenden aktueller Versionen der zu bekommen. Anschließend dann verwenden aktueller Versionen der
 verwendeten Komponenten. verwendeten Komponenten.
 +
 +Nachdem die alte Konfiguration läuft, geht es an die Aktualisierung:
 +  * RavenDB 4.0.5
 +    * Datenbank aus 2.5 kann über 3.5 nach 4 konvertiert werden
 +    * Anwendung muß auf .NET 4.6.1 umgestellt werden
 +  * Es gibt einige Änderungen, der Programmcode muß angepaßt werden. Insgesondere gibt es keinen Connectionstring mehr.
  
 ==== RavenDB ==== ==== RavenDB ====
Zeile 40: Zeile 47:
 === Berechtigungen === === Berechtigungen ===
  
-Über ASP.NET Xml Security Providers: +Es gibt 
-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+  * Einen Administrator 
 +  * Normale Benutzer 
 +    * ''ID'' 
 +    * ''User-Key'' 
 +    * ''Benutzername'' 
 +    * ''EMail'' 
 +    * ''API-Key'' 
 +    * ''Pushover-User-Key''
  
 +Die Berechtigungen werden aus der Datei ''Users.xml'' gelesen. 
 +Damit das ganze funktioniert wird noch ein Membership Provider benötigt.
 +Dies ist ein eigenständiges Projekt.
 +Siehe auch:
 +[[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|Über ASP.NET Xml Security Providers]]
  
-TODO Genaues Format noch nicht geklärt+Der dort beschriebene Code muß geringfügig angepaßt werden, damit er für unsere Situation paßt. 
 +Insbesondere ist ein Verweis auf ''System.Web.ApplicationServices'' erforderlich.
  
-<file xml Roles.xml> +In ''ReadMembershipDataStore'' muß der providerUserKey (ein eindeutiger Schlüssel) aus der ''Users.xml'' 
-<?xml version="1.0encoding="utf-8"?> +übernommen werden. Wir verwenden ''UserID'' dazu: 
-<Roles> +<code vb> 
-</Roles> +MembershipUser user new MembershipUser( 
-</file>+ Name,                       // Provider name 
 + node["UserName"].InnerText, // Username 
 + node["UserID"].InnerText,   // providerUserKey 
 + node["EMail"].InnerText,    // Email 
 + String.Empty,               // passwordQuestion 
 + node["Password"].InnerText, // Comment 
 + true,                       // isApproved 
 + false,                      // isLockedOut 
 + DateTime.Now,               // creationDate 
 + DateTime.Now,               // lastLoginDate 
 + DateTime.Now,               // lastActivityDate 
 + DateTime.Now,               // lastPasswordChangedDate 
 + new DateTime(1980, 1, 1)    // lastLockoutDate 
 +); 
 + 
 +</code>
  
 <file xml Users.xml> <file xml Users.xml>
Zeile 57: Zeile 92:
    <User>    <User>
       <UserName>Bob</UserName>       <UserName>Bob</UserName>
 +      <UserID>bob</UserID>
       <Password>geheim</Password>       <Password>geheim</Password>
-      <EMail>bob@contoso.com</EMail> +      <EMail>bob@piratenpartei-sh.de</EMail> 
-      <Roles>Members</Roles>+      <Roles>testparlament</Roles>
    </User>    </User>
    <User>    <User>
       <UserName>Alice</UserName>       <UserName>Alice</UserName>
 +      <UserID>alice</UserID>
       <Password>geheim</Password>       <Password>geheim</Password>
-      <EMail>alice@contoso.com</EMail> +      <EMail>alice@piratenpartei-sh.de</EMail> 
-      <Roles>Members,Administrators</Roles>+      <Roles>admin,testparlament/Roles>
    </User>    </User>
 </Users> </Users>
 </file> </file>
  
-=== Anwendungseinstellungen ===+Rollen: 
 +  * ''admin'' ist eine spezielle Rolle 
 +  * Jedes Parlament (''representations.key'') entspricht einer Rolle
  
-Settings: +=== Anwendungseinstellungen ===
-^ 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 | | +
  
 +Settings in ''web.config''
 +^ Setting                        ^ Datentyp  ^ Standard  ^ Beschreibung  ^
 +| PushbulletApiUrl               | String    |                         |
 +| PushbulletAccessToken          | String    |                         |
 +| PushoverApiUrl                 | String    |                         |
 +| PushoverAppToken               | String    |                         |
 +| PushoverUserKey                | String    |                         |
 +| TwitterConsumerKey             | String    |                         |
 +| TwitterConsumerSecret          | String    |                         |
 +| TwitterAccessToken             | String    |                         |
 +| TwitterAccessTokenSecret       | String    |                         |
 +| TwitterRequestUrl              | String    |                         |
 +| PiratlyApiKey                  | String    |                         |
 +| SendMail                       | Boolean    False    |               |
 +| InfoMailCC                     | String    |                         |
 +| MailSender                     | String    |                         |
 +| SendTweets                     | Boolean    False    |               |
 +| SendPushoverNotification       | Boolean    False    |               |
 +| DefaultPagerListPageSize       | Integer    25                     |
 +| DefaultPagerListWingLength     | Integer    10                     |
 +| RandomKey_AllowCapitalLetters  | Boolean                           |
 +| RandomKey_Letters              | String    |                         |
 +| RandomKey_Numbers              | String    |                         |
 +| NotificationPageCount          | Integer    10                     |
 +| ProposalListCount              | Integer    10                     |
  
  
 +==== Parlamente ====
  
 +^ Status ^ Bezeichnung ^
 +| 0 | Inaktiv | 
 +| 1 | Aktiv | 
 +| 2 | Nur lesen | 
 +| 4 | Beendet | 
  
-==== ==== 
  
 <file xml Representations.xml> <file xml Representations.xml>
 <?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
 <representations> <representations>
-    <item id="999" key="testparlament" status="0"+    <item id="999" key="testparlament" status="1"
         api-key="..."         api-key="..."
         label="Test" color="#999"          label="Test" color="#999" 
           name="Test-Parlament" name2="Parlament (Test)"           name="Test-Parlament" name2="Parlament (Test)"
-          level="4" federal="" map-url=""+          level="4" federal="SH" map-url=""
           group-type="1" group-name="Test"           group-type="1" group-name="Test"
           link=""           link=""
Zeile 125: Zeile 170:
         </representatives>         </representatives>
         <committees>         <committees>
-                 <item id="1" key="c1" caption="C1test" name="" url=""></item>+                 <item id="1" key="c1" caption="C1test" name="Ausschuß A" url=""></item> 
 +                 <item id="2" key="c2" caption="C2" name="Ausschuß B" url=""></item>
                </committees>                </committees>
         <process>         <process>
Zeile 159: Zeile 205:
 <configuration> <configuration>
  
-    <system.web> +  <system.web> 
-      <compilation debug="true" targetFramework="4.5.1" /> +    <compilation debug="true" targetFramework="4.5.1" /> 
-      <httpRuntime targetFramework="4.5.1" /+    <httpRuntime targetFramework="4.5.1" />
-    </system.web>+
  
-    <connectionStrings+    <!-- PublicKeyToken aus der Assembly mit "sn -T <dllfile> extrahieren  
-      <add name="RavenDBServer" connectionString="Url=http://localhost:8080;Database=OpenAntrag"/> +         oder aus %windir\Microsoft.NET\assembly% auslesen -->     
-    </connectionStrings>+ 
 +    <membership defaultProvider="AspNetReadOnlyXmlMembershipProvider"
 +      <providers> 
 +        <add name="AspNetReadOnlyXmlMembershipProvider" 
 +           type="ReadOnlyXmlMembershipProvider, ReadOnlyXmlMembershipProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=5f20f686ead4fa28" 
 +           description="Read-only XML membership provider" 
 +           xmlFileName="~/App_Data/Users.xml" /> 
 +      </providers> 
 +    </membership> 
 +     
 +    <roleManager enabled="true" defaultProvider="AspNetReadOnlyXmlRoleProvider"> 
 +      <providers> 
 +        <add name="AspNetReadOnlyXmlRoleProvider" 
 +           type="ReadOnlyXmlRoleProvider, ReadOnlyXmlRoleProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=6ae538083776793b" 
 +           description="Read-only XML role provider" 
 +           xmlFileName="~/App_Data/Users.xml" /> 
 +      </providers> 
 +    </roleManager> 
 + 
 +    <authentication mode="Forms" /> 
 + 
 +  </system.web> 
 + 
 +  <connectionStrings> 
 +    <add name="RavenDBServer" connectionString="Url=http://localhost:8080;Database=OpenAntrag"/> 
 +  </connectionStrings
 + 
 +  <appSettings> 
 +    <add key="SendMail" value="False"/> 
 +    <add key="SendTweets" value="False"/> 
 +    <add key="SendPushoverNotification" value="False"/> 
 +    <add key="DefaultPagerListPageSize" value="25"/> 
 +    <add key="DefaultPagerListWingLength" value="10"/> 
 +    <add key="RandomKey_AllowCapitalLetters" value="False"/> 
 +    <add key="RandomKey_Letters " value="abcdefghijklmnopqrstuvwxyz"/> 
 +    <add key="RandomKey_Numbers " value="0123456789"/> 
 +    <add key="NotificationPageCount" value="25"/> 
 +    <add key="ProposalListCount" value="25"/> 
 +  </appSettings>
  
 </configuration> </configuration>
Zeile 183: Zeile 266:
   * Teaser.xml    * Teaser.xml 
  
 +==== Deploy ====
 +
 +Veröffentlichen der Anwendung auf einem Server (ohne Entwicklungsumgebung).
 +Erfolgreich getestet mit einem Windows 7 mit IIS.
 +
 +  - IIS installieren
 +  - RavenDB 2.5 muß laufen
 +  - ASP.NET initialisieren<code>
 +cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
 +aspnet_regiis -i
 +</code>
 +  - Überkopieren der Daten 
 +    * Am besten die Funktion "Veröffentlichen" von Visual-Studio verwenden, in ein lokales Verzeichnis. Anschließend können die Dateien dann auf den echten Webserver übertragen werden.
  
 ===== Linux ===== ===== Linux =====
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