parent
723ba42420
commit
88e9e81cc8
@ -1,2 +1,121 @@ |
||||
# OpenAntrag |
||||
Quellcode der Website openantrag.de |
||||
|
||||
Über das Portal OpenAntrag können Bürger über Fraktionen oder Einzelabgeordnete der Piratenpartei ihre Ideen und Wünsche einbringen. |
||||
|
||||
Das Portal ist realisiert für: |
||||
|
||||
Deutschland (openantrag.de. open-antrag.de) |
||||
Das Projekt wurde mit ASP.NET MVC umgesetzt. Als Datenbank kommt RavenDB zum Einsatz. |
||||
|
||||
Um das Projekt lauffähig zu bekommen sind weitere Komponenten bzw. Dateien notwendig: |
||||
|
||||
# RavenDB # |
||||
|
||||
Als Backend kommt die NoSQL-Datenbank **RavenDB** zum Einsatz. Alle Objekte werden automatisch persistiert. Nach Installation von RavenDB und Anlegen einer 'OpenAntrag'-Datenbank ist lediglich die Anlage eines fixen Dokuments notwendig: |
||||
|
||||
ProposalTags-1 |
||||
|
||||
{ |
||||
"Items": [], |
||||
"CreatedAt": null, |
||||
"CreatedBy": null, |
||||
"Timestamp": 0 |
||||
} |
||||
|
||||
Dieses Dokument nimmt alle verfügbaren Themen (Schlagworte) auf und verknüpft sie mit den Anträgen (Proposals). |
||||
|
||||
# Dateien # |
||||
|
||||
## web.config ## |
||||
|
||||
Nicht im Source-Code enthalten ist die web.config des Projekts, da sie in den AppSettings Logins und API-Keys enthält. Muster |
||||
|
||||
## Roles.xml / Users.xml ## |
||||
|
||||
Die Authentifizierung basiert auf den ASP.NET Xml Security Providers. Hierzu werden im Ordner \App_Data diese beiden XML-Dateien benötigt. |
||||
|
||||
representation.xml |
||||
|
||||
Alle verfügbaren Parlamente werden in dieser Datei unter \App_Data angelegt, die folgende Struktur hat: |
||||
|
||||
<?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="" |
||||
twitter="" |
||||
party="Piratenpartei" /> |
||||
</representatives> |
||||
<committees> |
||||
<item id="" key="" caption="" 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="..." def="erledigt" success-story="true" |
||||
caption="Antrag erledigt" |
||||
short-caption="Antrag erledigt"> |
||||
<next /> |
||||
</step> |
||||
</process> |
||||
</item> |
||||
</representations> |
||||
|
||||
|
||||
|Feld|Bedeutung| |
||||
|---|---| |
||||
|`item.id`|eindeutige fortlaufende Nummer des Parlaments| |
||||
|`item.key`|eindeutiger Schlüssel für das Parlament| |
||||
|`item.label`|Name der Region (Stadt, Kreis, Land)| |
||||
|`item.color`|individueller Farb-Code| |
||||
|`item.name`|Name des Parlaments| |
||||
|`item.name2`|Name des Parlaments mit vorangestelltem Namen der Region| |
||||
|`item.level`|Regierungsebene (Schlüssel auf GovernmentalLevels.xml)| |
||||
|`item.federal`|Bundesland (Schlüssel auf FederalStates.xml)| |
||||
|`item.map-url`|Link über http://geojson.io (Daten aus piratenmandate-frontend)| |
||||
|`item.group-type`|Gruppentyp (Schlüssel auf GroupTypes.xml)| |
||||
|`item.group-name`|Gruppenname| |
||||
|`item.link`|Website-Link der Gruppe| |
||||
|`item.phone`|Telefonnummer der Gruppe| |
||||
|`item.mail`|Mail-Adresse der Gruppe| |
||||
|`item.info-mail`|Info-Mail-Adresse der Gruppe (Versand der Benachrichtigungen)| |
||||
|`item.representatives.id`|eindeutige fortlaufende Nummer des Mandatsträgers innerhalb des Parlaments| |
||||
|`item.representatives.key`|eindeutiger Schlüssel für den Mandatsträger innerhalb des Parlaments| |
||||
|`item.representatives.name`|Name des Mandatsträgers| |
||||
|`item.representatives.mail`|Mail-Adresse des Mandatsträgers| |
||||
|`item.representatives.phone`|Telefonnummer des Mandatsträgers| |
||||
|`item.representatives.twitter`|Twitter-Account des Mandatsträgers| |
||||
|`item.representatives.party`|Partei des Mandatsträgers| |
||||
|`item.committees.id`|eindeutige fortlaufende Nummer des Ausschusses innerhalb des Parlaments| |
||||
|`item.committees.key`|eindeutiger Schlüssel für den Ausschuss innerhalb des Parlaments| |
||||
|`item.committees.caption`|Kurzname des Ausschusses| |
||||
|`item.committees.name`|vollständiger Name des Ausschusses| |
||||
|`item.committees.url`|Link zum Ausschuss (Ratssystem)| |
||||
|`item.process.step.id`|eindeutige fortlaufende Nummer des Antragsschritts innerhalb des Parlaments| |
||||
|`item.process.step.def`|Definion des Antragsschritts (Schlüssel auf ProcessStepDefinitions.xml)| |
||||
|`item.process.step.caption`|Kurzname des Antragsschritts (überschreibt den Kurznamen aus der Definition)| |
||||
|`item.process.step.short-caption`|Name des Antragsschritts (überschreibt den Namen aus der Definition)| |
||||
|
||||
|
Loading…
Reference in new issue