Dieser Artikel wurde maschinell übersetzt.

Windows Store-Apps

Datenabfrage gemäß dem „Freedom of Information Act“

Vishwas Lele

Codebeispiel herunterladen

Der Freedom of Information Act (FOIA) gibt U.S. Bürgern Zugang zu staatlicher Daten zu helfen, sich selbst zu erziehen und fundiertere Entscheidungen zu treffen. Der Prozess des Erhaltens dieser Daten kann jedoch komplex und einschüchternd sein. In diesem Artikel werde ich durchlaufen das Gebäude eine Windows-Speicher-APP, namens MyFOIA, das durch den Benutzer weitere leicht erhalten diese Informationen, sie mit anderen Teilen und sogar automatische Updates auf FOIA-Anfragen.

Was ist der FOIA?

FOIA gewährt Bürgern das Recht zum Anfordern von Informationen von einer Regierungsbehörde eingesetzt. Die Agentur wird dann benötigt, um die Bürger mit relevanten, nicht klassifizierte Informationen versorgen. Dieses Gesetz soll staatliche Transparenz zu erhöhen. Jedoch ermöglichen nicht die Anforderungsprozess für einfachen Zugriff auf eine Agentur Informationen.

Die meisten Agenturen bieten häufig angeforderte Informationen auf ihren Webseiten. Informationen, die es nicht angezeigt wird, muss eine Person eine FOIA-Anfrage stellen. Dieser Prozess erfordert oft den Bürger auffordern eine schriftliche Anfrage per Post oder E-mail, Gliederung so detailliert wie möglich, die Informationen, die die Person will und das gewünschte Format, in dem es erbracht werden sollten. Die Anforderung muss mit bestimmten Richtlinien bestimmten Format kompatibel sein, die variieren von Agentur zu Agentur. Die typische zurück, auf eine FOIA-Anfrage mindestens einen Monat betragen kann. Diese Faktoren erhöhen die Notwendigkeit für ein Tool, das Zugriff auf diese Art von Regierungsinformationen verbessern kann.

In einem System der Regierung entwickelt, durch das Volk für das Volk hilft der FOIA Bürger Zugriff auf Informationen, die zuvor nur für Bundesbehörden verfügbar gewesen wäre.

Das Gesetz hat geholfen, dass Bürger entdecken Sie Ergebnisse aus unveröffentlichten Studien, bisher zurückgehaltenen Videos und nicht gemeldete Verstöße gegen Vorschriften, die sonst für die Öffentlichkeit zugänglich gewesen wäre. Siehe "FOIA in Aktion" in diesem Artikel weitere Informationen über einige konkrete Beispiele.

Herausforderungen der FOIA

FOIA kann ein leistungsfähiges Werkzeug zur Analyse und nützliche Schlussfolgerungen aus staatlicher Daten extrahiert werden. Der Vorgang ist jedoch langwierig und kompliziert. Unter dem gegenwärtigen System der Bürger muss zuerst herausfinden, — so genau wie möglich — was er sucht. Manchmal werden die Daten, die ein Bürger in einer Agentur-spezifische Portal gesperrt.

Um dieses Problem zu bekämpfen, wurden einige Multi-Agentur-Datenbanken erstellt, z. B. FOIAonline (1.usa.gov/O0s4zu). Der Bürger hat hierzu zwei Möglichkeiten: Suchen Sie die häufig nachgefragte FOIA-Daten oder machen Sie eine offizielle FOIA-Anfrage. Die offizielle FOIA-Anforderung erfordert Preisgabe persönlicher Informationen zum Erstellen eines Kontos, neben einen ausführlichen Brief Beschreibung gliedern die Anforderung absenden.

Abhängig von der Agentur kann die anfordernde Person auch verpflichtet werden, eine Gebühr zu übermitteln. Dieser Prozess kann mühsam sein und stützt sich auf die Bürger aktiv die Informationen der Agentur mittels Anfrage suchen, anstatt die Daten überall verfügbar an die Person, die Fingerspitzen. Ein Benutzer kann keine Benachrichtigung bei Aktualisierungen an den Daten im System empfangen, und es gibt keine einfache Möglichkeit für Menschen zu teilen oder diese Informationen über soziale Medien zu diskutieren.

Nachbesprechung: Der Freedom of Information Act (FOIA)

Transparenz der Daten der Regierung spielt eine entscheidende Rolle um die US- Bürger zu informieren, die Aktivitäten der Regierungsagenturen und regierenden Prozess beteiligt. FOIA stellt diese zur Verfügung, aber anfordern und empfangen diese Informationen können eine schwierige und lästige Erfahrung sein. Dieser Artikel behandelt die Entwicklung einer Windows-Speicher-APP, die auf die laufenden Prozesse für die Arbeit mit FOIA-Anfragen verbessert.

 

IT Brief:

Dieser Artikel dient als ein Beispiel für Regierungsbehörden auf die Optimierung den FOIA-Auftrag zu erfüllen. Als Alternative zur Entwicklung völlig neuer Lösungen zeigt es, wie neue Technologien erweitern und verbessern kann aktuelle Systeme. Wichtige Überlegungen umfassen Folgendes:

  • Behörden sind verpflichtet, FOIA-Anfragen nachzukommen.
  • Aktuelle Prozesse für erfüllende Anforderungen variieren von Agentur zu Agentur.
  • Einreichung und Verfolgung FOIA Anforderungen können schwierig für die Bürger sein, aber der Prozess standardisiert und verbessert werden kann.
  • Einsatz neuer Technologien wie Windows Store apps kann helfen, Standardisierung und Verbesserung des Prozesses.

Dev-Brief:

Entwickler haben nicht immer die Zeit oder Ressourcen, aktuelle Systeme komplett neu zu erstellen. Dieser Artikel veranschaulicht, wie mithilfe moderne Technologien, wie das neue und verbesserte WebView-Steuerelement in Windows 8.1 einzuwirken und Verbesserung bestehender Systeme. In diesem Fall eine app arbeitet mit einer vorhandenen Website FOIA-bezogene und fügt die folgenden Funktionen:

  • Benutzer können benachrichtigt werden, wenn es eine Änderung auf eine FOIA-Anfrage in der sie interessiert und folgende waren.
  • Benutzer können leicht FOIA-bezogene Daten über soziale Medien freigeben.
  • Benutzer können mit der app reibungslos über eine Vielzahl von input-Quellen, einschließlich Touch, Stift, Maus und Tastatur interagieren.

Weitere Informationen:

Geben Sie die MyFOIA-App

Beschloss ich, es wäre sinnvoll, erstellen Sie eine Windows-Speicher-app um FOIA-bezogene Informationen leichter zugänglich zu machen. Benutzer könne leicht FOIA Datenzugriff durch die Suche nach vorhandenen FOIA-Anfragen und neue Arbeitsplätze schaffen. Darüber hinaus würde ein Benutzer alle Updates auf eine FOIA-Anfrage mitzuteilen, was sie wollte, zu folgen. Schließlich würde die app interessante Leckerbissen mit Bezug zu FOIA Daten über soziale Medien, und ermutigte andere einmischen teilen erleichtern.

Ich werde jetzt kurz die Funktionalität der app überprüfen.

Homepage Abbildung 1 zeigt die Homepage der MyFOIA app.  Benutzer können Anforderungen suchen, einen neuen Antrag stellen (als Gast) und Generieren von Berichten. Die app-Bar auch Navigationssteuerelemente erlaubt und ermöglicht es Benutzern, tweet, markierten Text innerhalb der app.

The MyFOIA App Home Page
Abbildung 1 die MyFOIA App-Homepage

Suche Seite Abbildung 2 zeigt die Suchseite der MyFOIA app.  Benutzer können für Anfragen, Beschwerden und Records veröffentlicht auf FOIA-Anfragen suchen. In diesem Beispiel wird der Benutzer durch die USA suchen. Environmental Protection Agency (EPA) FOIA zeichnet für den Suchbegriff "CO2."

The MyFOIA App Search Page
Abbildung 2 die MyFOIA App-Suchseite

Suchergebnisse Abbildung 3 zeigt die Seite mit den Suchergebnissen.  Ergebnisse der Suche weiter oben platziert (in Abbildung 2) werden auf dem Bildschirm angezeigt. Beachten Sie die Spalte auf der rechten Seite mit der Überschrift benachrichtigen. Durch Klicken auf ein oder mehrere Kontrollkästchen können Benutzer Benachrichtigungen empfangen, wenn es ein Update im Zusammenhang mit dem Antrag gibt.

The MyFOIA App Search Results Page
Abbildung 3 die MyFOIA App-Suchergebnisseite

Wählen Sie Seite teilen und Abbildung 4 zeigt die "auswählen und teilen"-Seite, die durch den Benutzer wählen Sie Antworten interessante Details und teilen Sie sie über Twitter.  Beachten Sie das Browserfenster mit der Twitter-Seite neben der MyFOIA-app.

The MyFOIA App Select and Share Page
Abbildung 4 MyFOIA App auswählen und die Seite weiterempfehlen

Grundlegende Architektur

Abbildung 5 zeigt die allgemeine Architektur von der MyFOIA-app, die mithilfe von JavaScript und HTML erstellt wurde. Es stützt sich auf das Windows 8.1 WebView-Steuerelement zum Hosten von Inhalt aus der FOIAonline-Website, wodurch verfügbar die Kernfunktionen von FOIAonline (erstellen, suchen und Berichten auf Antworten). Die app erstreckt sich auch auf die Funktionalität der FOIAonline-Website von "Injektion" JavaScript in der WebView-gehosteten Inhalt aus. Beispielsweise können Benutzer FOIA Antworten verfolgen. Wenn es ein Update auf eine FOIA Antwort gibt, erhalten alle Geräte, die registriert haben, um Updates zu erhalten Push-Benachrichtigungen. Die MyFOIA-app erstreckt sich auch das Erscheinungsbild der FOIAonline Web Site entsprechend eine native Windows-Speicher-app. Dazu gehören aktivieren "pinch und zoom," unter Berufung auf eine app-Bar für die Navigation, Anwendung notwendigen Styling damit den app Touch-freundlich und gemeinsame Text mit anderen Windows-Store apps.

The High-Level Architecture of the MyFOIA App
Abbildung 5 die allgemeine Architektur der MyFOIA App

Das Kernstück der Funktionsumfang durch die MyFOIA-app ist die Benachrichtigung-Fähigkeit. Benutzer können registrieren, um Benachrichtigungen zu erhalten, sobald eine bestimmte FOIA Antwort aktualisiert wird. Diese Benachrichtigungs-Funktion basiert auf Windows Azure Mobile Services (WAMS), wodurch Backend-Funktionen für Anwendungen, einschließlich:

  • Einfache Bereitstellung und Verwaltung von Tabellen, in denen Anwendungen Daten speichern können.
  • Integration mit der Benachrichtigung-Hub, Push-Benachrichtigungen zu liefern.
  • Client-Bibliotheken für verschiedene Geräte, einschließlich JavaScript-Bibliotheken.
  • Die Fähigkeit, skriptbasierte Serverlogik, einschließlich Scheduler Funktionen hinzuzufügen.

Jedes Gerät fordert an app Aktivierungszeit, einen Push-Benachrichtigung-Kanal von der Notification-Client-Plattform. Wiederum fragt Notification-Client-Plattform Windows Push Notification Services (WNS) um einen Benachrichtigungskanal zu erstellen und an das Gerät zurückzugeben. Wenn der Benutzer Tracking über eine gegebene Antwort des FOIA aktiviert, registriert die MyFOIA app anschließend das Gerät mit dem Windows-Azure-Benachrichtigung-Hub. Im Hintergrund sieht der WAMS-Planer in regelmäßigen Abständen nach Aktualisierungen für alle registrierten FOIA Antworten. Wenn der Planer ein Update erkennt, ist eine Push-Benachrichtigung an alle Geräte über die Mitteilung-Hub gesendet.

Implementierungsdetails

Die erste Herausforderung bei der Entwicklung der app war, dass die FOIAonline-Website derzeit eine API für app-Entwickler unterstützt. Glücklicherweise hat Microsoft veröffentlicht eine aktualisierte Version des Steuerelements WebView als Teil des Windows-8.1, mich mit der, Host eine FOIAonline Webseite innerhalb einer Windows-Speicher-app mit native HTML und JavaScript (die frühere Version des Steuerelements WebView Windows 8 war nur apps gebaut mit XAML und c# zugegriffen) gebaut.

Sie denken vermutlich, dass dies eine Art ein Iframe-Ansatz verwendet. Nicht ganz. Das WebView-Steuerelement bietet verschiedene Vorteile gegenüber einem Iframe-Ansatz. Außerdem verbieten einige Websites einfach ihre Inhalte innerhalb eines Iframe geladen werden.

Einfach ausgedrückt kann das neue WebView-Steuerelement eine HTML-app, HTML-Inhalte zu hosten. Betrachten Sie die folgende HTML und JavaScript-Schnipsel, die zum Erstellen der WebView-Steuerelements:

<x-ms-webview id="foiaWebview"></x-ms-webview>
var foiaWebview = document.createElement("x-ms-webview");

Beachten Sie, dass die X-ms-Webview herstellerspezifische Erweiterungssyntax folgt, da WebView eine Microsoft-spezifische-Steuerelement ist. Sobald Sie das WebView-Steuerelement erstellt haben, können Sie den HTML-Inhalt als neues Dokument mithilfe der NavigateToString-Methode laden:

x-ms-webview.
navigateToString(stringHTMLContent);

So weit die Funktionalität ähnelt, die von einem Iframe bereitgestellt, aber es gibt erhebliche Unterschiede:

  • WebView-Steuerelement ist in der Entscheidungsstruktur zusammen mit anderen Steuerelementen auf der HTML-Seite integriert, sodass Sie anwenden können, genau wie bei anderen Steuerelemente auf der Seite styling. Dies bedeutet, dass Sie auch andere Steuerelemente auf das Steuerelement WebView überlagern können.
  • Das WebView-Steuerelement bietet eine Reihe von Navigationsereignisse, die die app einen Einblick in das Laden von Inhalten bereitstellt. Apps können melden Sie sich für Veranstaltungen wie MSWebViewNavigation­ab, MSWebViewContent­-laden, MSWebViewContent­Loaded und MSWebViewNavigation­abgeschlossen und entsprechende Maßnahmen zu ergreifen. Darüber hinaus löst das WebView-Steuerelement auch in regelmäßigen Abständen (alle 500 ms) ein LongRunningScriptDetected-Ereignis, das die Anwendung ein potenziell fehlerhafte Skript stoppen läßt.
  • Das WebView-Steuerelement kann Internet Explorer SmartScreen nutzen Filtern für Block "Phishing"-Angriffe. Die app können bösartige Inhalte mitgeteilt und von der Seite zu navigieren.
  • Die WebView kommt Kontrolle mit integrierten Funktionen, der gemeinhin benötigt von apps hosting Web-Inhalt. Dies schließt Überprüfung der Existenz der "weiter" und "zurück" Links und entsprechend navigieren, Erfassen von Screenshots der Web-Inhalte, die angezeigt wird, und Erinnerung an die Auswahl des Benutzers.
  • Für Funktionen, die integrierte ist nicht, stellt das WebView-Steuerelement eine allgemeine Regelung für die app, mit der WebView-Steuerung über die InvokeScriptAsync-Methode und das ScriptNotify-Ereignis zu kommunizieren. Wie der Name schon sagt, bietet InvokeScriptNotify, — als asynchrone Aktion — die Fähigkeit, Exe­süß ein Skript von innerhalb der aktuell geladenen HTML innerhalb der WebView steuern. Analog kann die HTML-Seite innerhalb einer WebView ein ScriptNotify-Ereignis innerhalb der app auslösen. Wie Sie sich vorstellen können, werden eine Reihe von Sicherheitsprüfungen auferlegt, um zu verhindern, dass Extern gehostete, bösartige Web-Inhalte die app zu entführen. Beispielsweise dürfen nur Websites eingetragen in die app-Paket-Manifest zum Auslösen von Ereignissen innerhalb einer app.
  • Funktionen wie Pinch und Zoom und Telefon-Nummer-Erkennung funktioniert out of the Box mit dem WebView-Steuerelement. Obwohl Sie sicherlich ähnliches Verhalten mit Iframes erzielen können, müsste es eine Reihe von benutzerdefinierten Java­Script und CSS.

Nun, da Sie mit Kenntnis der Funktionsweise des Steuerelements WebView bewaffnet bist, werde ich erläutern, wie die MyFOIA-app das WebView-Steuerelement verwendet. Die Startseite der MyFOIA app ist default.html, wie in der app-Paket-Manifest definiert. Die default.html Seite hostet einfach das WebView-Steuerelement zusammen mit der WinJS.UI.AppBar-Steuerelement. Wenn die app aktiviert ist, wird das app.onactivated-Ereignis (definiert in default.js) aufgerufen wird. Innerhalb der Ereignishandler registrieren Sie sich für die Ereignisse oben behandelt wurden, einschließlich MSWebViewNavigationStarting, MSWebViewDOMContentLoaded und MSWebViewScriptNotify. Schließlich, navigieren Sie zu der Seite foiaHome.html. Dies ist eine Seite, die zusammen mit der app-Paket, deshalb benötigen Sie einen Präfix ms-Appx-Web-URL für den Zugriff, wie folgt:

var homePageUri = "ms-appx-web:///foiaHome.html";

Wenn Sie den Inhalt dieser Seite betrachten, sieht es ähnlich wie die Homepage der Website FOIAonline. Ich gebündelt diese Seite als Teil der app aus zwei Gründen. Zuerst brauchte ich einen schnellen, reagieren, Touch-freundlich home-Bildschirm, die gespannt auf den gesamten Bildschirm Immobilien passen. Zweitens wollte ich die app auf die Funktionalität zur Verfügung, die Gäste nur zu begrenzen. Bündelung eine Kopie der Homepage erlaubt mir, die Funktionen für registrierte Nutzer zu entfernen. Insbesondere hat die MyFOIA-app keine Funktionalität um Benutzeranmeldeinformationen zu erbitten.

Abbildung 6 zeigt die Homepage der Website FOIAonline. Vergleichen und es auf die MyFOIA-app-Homepage (Abbildung 1) und Sie werden feststellen, dass mehrere Elemente (mit Anmerkungen in rot auf Abbildung 6) wurden entfernt um eine flüssigere UI-Erfahrung zu bieten.

The FOIAonline Home Page
Abbildung 6 der FOIAonline-Homepage

Die nächste Herausforderung, die, der ich getroffen, wurde eine Art Push-Benachrichtigung-Übertragung aktivieren, die Benutzer über zu einer FOIA Antwort benachrichtigt, in der sie interessiert wurden. Es besteht jedoch keine solche Push-Benachrichtigung-Übertragung innerhalb der FOIAonline-Website. Glücklicherweise lassen Sie erläuterten Methoden InvokeScriptAsync und ScriptNotify mich "die Push-Benachrichtigung-Übertragung innerhalb der bestehenden Webseite injizieren". Beziehen sich auf Abbildung 3 und Sie werden feststellen, dass die zusätzliche Notify-Spalte. Diese Spalte existiert nicht auf der FOIAonline Website.

Ich werde erklären, wie ich in der Lage, diese zusätzliche Spalte hinzugefügt wurde. Sobald DOM Inhalte im WebView-Steuerelement geladen ist, wird es das FoiaWebview_onDOMContentLoaded-Ereignis (Recall, die ich für sie innerhalb der app-activated-Ereignis registriert) ausgelöst. Auf diese Weise können die MyFOIA-app, die das Verhalten des gehosteten Inhalts ändern, durch die Injektion eines benutzerdefinierten Skripts, das den vorhandenen HTML-Code die Notify-Spalte hinzugefügt. Dieser Code erstellt eine Abhängigkeit von der zugrunde liegenden Webseite. Infolgedessen kann die MyFOIA-app unterbrechen, wenn die zugrunde liegenden Website geändert wird. In Ermangelung einer API bietet der WebView-Kontrolle die einzige Möglichkeit, die Funktionalität der Website zu erweitern.

In Abbildung 7, wie Sie sehen, zusammen mit die Notify-Spalte hinzufügen, ich in der Skriptfunktion "eval" zusammen mit einem Skript-Argument an die webviewControl.invokeScriptAsync-Methode übergeben.

Abbildung 7-Script-Funktion aus der derzeit geladenen HTML ausgeführt werden sollen

script += "function notifyClick(checkboxControl) {";
script += "var notifyData = '';";
script += "if (checkboxControl.checked) {";
script += "    notifyData = 'add';";
script += "}";
script += "else {";
script += "    notifyData = 'delete';";
script += "}";
script += "window.external.
notify(notifyData + '|' + ";
script += " $(checkboxControl).attr('data-number') + '|' + ";
script += " $(checkboxControl).attr('data-uri'));";
script += "}";
script += "var header = $('#curElem thead tr');";
script += "$(header[0]).find('th:last').after('";
script += " <th class=\"detail\">";
script += " <a href=\"#\" onclick=\"return false\">Notify</a>";
script += " </th>');";
script += "var rows = $('#curElem tbody tr');";
script += "for (var i = 0; i < rows.length; i++) {";
script += "    var reqNumber = $(rows[i]).find('td:first a').text();";
script += "    var reqUri = $(rows[i]).find('td:first a').attr('href');";
script +=   "reqUri = 'https://foiaonline.regulations.gov/foia/action/public/view/' +";
script +=   "(reqUri.indexOf('request') != -1 ?
\"request?
\" : \"record?
\") + ";
script += "     reqUri.substring(reqUri.indexOf('objectId'));";
script += "    $(rows[i]).find('td:last').after('";
script += "     <td><input type=\"checkbox\" class=\"notifyCheckbox\" ";
script += "     name=\"notify\" value=\"notify\" ";
script += "     data-number=\"' + reqNumber + '\" data-uri=\"' + reqUri + '\" ";
script += "     onclick=\"notifyClick(this);\" /></td>');";
script += "}";
var scriptOperation =
   webviewControl.invokeScriptAsync("eval", new Array(script));

Nach erfolgreichem Abschluss dieser, wird das benutzerdefinierte Skript innerhalb der geladenen HTML-Seite ausgeführt. Beachten Sie, dass innerhalb der Skript-Ausschnitt, der als Argument übergeben ich einen Aufruf an die Methode window.external. Benachrichtigen. Wenn der Benutzer eines der Kontrollkästchen auswählt, ist also ein FoiaWebview_onScriptNotify-Ereignis innerhalb der MyFOIA-app gefeuert. Abbildung 8 zeigt, wie dieses Ereignis durch die app behandelt wird. Ich rufen Sie die WAMS-Methode zum Abrufen eines Verweises auf eine bestimmte Tabelle getTable genannt. Das Table-Objekt verwenden, ich hinzufügen eine neue Rekord Con­Tain­Ing die Anzahl der FOIA anfordern, verfolgt und der Uri der Anforderung.

Abbildung 8 den OnScriptNotify-Ereignishandler

function foiaWebview_onScriptNotify(eventArgs) {
  msgControl.innerText = "Updating Request...";
  var scriptNotifyDataArr = eventArgs.value.split("|");
  var operation = scriptNotifyDataArr[0];
  var reqNumber = scriptNotifyDataArr[1];
  var reqUri = scriptNotifyDataArr[2];
  var requestTable = foiaMobileServiceClient.getTable("Request");
  var tablePromise;
  if (operation == "add") {
    requestTable.insert({
      DeviceId: deviceId,
      TrackingNumber: reqNumber,
      RequestUri: reqUri
  }).done(function () {
    updateRegistration();
  });
  }
  // Code elided for clarity
  }
}
function updateRegistration() {
  var channelOperation =
     pushNotifications.PushNotificationChannelManager.
createPushNotificationChannelForApplicationAsync();
  channelOperation.then(function (newChannel) {
    channel = newChannel.uri;
    return requestTable.where({ DeviceId: deviceId }).read();
  }).then(function (requests) {
  if (requests.length > 0) {
    var trackingNumArray = getTrackingNumbers(requests);
    return hub.registerApplicationAsync(channel, trackingNumArray);
  }
  // Code elided for clarity

Sobald der Datensatz erfolgreich eingefügt wurde, melde ich mich auch die Kanal und Tracking-Nummern mit der Benachrichtigung-Hub. Der neu eingefügte Datensatz wird dann durch ein benutzerdefiniertes Skript ausgelöst in regelmäßigen Abständen durch den WAMS-Scheduler mitgenommen. Das benutzerdefinierte Skript sucht nach Updates auf den FOIA-Anfrage mit der Uri-Spalte. Wenn Updates vorhanden sind, sendet er Benachrichtigungen mithilfe den Benachrichtigung-Hub. Der Vorteil der Verwendung des Benachrichtigung-Hub ist es leicht, eine große Anzahl von Empfängern ohne die Notwendigkeit der Neukonzeption der MyFOIA-app skaliert. Darüber hinaus basieren die Benachrichtigungen auf Tags. Tags sind eine Möglichkeit, MyFOIA app Benutzereinstellungen zu registrieren. Konkret sind Markierungen in der MyFOIA-app tracking Nummern der FOIA fordert, dass tagging ein Benutzer interessiert sind. Sie können ein oder mehrere Tags registrieren. Der Benachrichtigung-Hub verwendet dann Tags, um die Benachrichtigungen weiterleiten.

Die letzte Herausforderung wurde im Zusammenhang mit social-Media-Funktionen der APP hinzufügen. Ich dachte, es wäre interessant, "Leckerbissen" aus FOIA-Anfragen und-Antworten über social-Media-Tools wie Twitter zu teilen. Wieder einmal unterstützen nicht die FOIAonline-Website derzeit solche Funktion. Die Herausforderung bei der Umsetzung solch einer Funktion ist, dass Benutzer Text innerhalb der gehostete HTML-Seite auswählen würde. Wie erfassen die app den markierten Text? Zum Glück, wie im Abbildung 9, die WebView-Steuerung bietet eine Methode namens CaptureSelectedContentToDataPackageAsync, das den markierten Text erfasst und an die LoadTwitter-Methode übergeben. Die LoadTwitter-Methode verwendet wiederum die Windows.System.Startprogramm-.launchUriAsync-Methode, um die Standard-app, die dem URI zugeordnet starten. Es ist auch interessant, die Verwendung der Windows.UI.ViewManagement.ViewSizePreference Option eingeführt Windows 8.1 app Ansichtseinstellung Größe zu definieren. Dies ermöglicht mir die Browser-app neben der MyFOIA-app starten, wie im Abbildung 4.

Abbildung 9 Erfassung ausgewählte Text und teilen Sie sie mit Twitter

function mainAppBar_onTweet(eventArgs) {
  msgControl.innerText = "Loading...";
  var captureOperation =
   webviewControl.captureSelectedContentToDataPackageAsync();
  captureOperation.oncomplete = function (completeEvent) {
    var res = completeEvent.target.result;
    if (res) {
      var dataPackage = res.getView();
      dataPackage.getTextAsync().done(function (capturedText) {
        loadTwitter(capturedText);
      });
    }
    else {
      loadTwitter("");
    }
  };
  captureOperation.start();
}
function loadTwitter(tweet) {
  var url = new Windows.Foundation.Uri(
  "https://twitter.com/share?url=https://foiaonline.regulations. "
+
  "gov/foia/action/public/home&text=" + tweet);
  var options = new Windows.System.LauncherOptions();
  options.desiredRemainingView =
     Windows.UI.ViewManagement.ViewSizePreference.useMore;
    Windows.System.Launcher.launchUriAsync(url, options).done(
      function (data) {msgControl.innerText = "";
  });
}

Der FOIA in Aktion

Die folgenden News wurden durch Verwendung von FOIA möglich:

  • "Eine Verletzung der Wahrheit" Chattanooga Times freie Presse (Tennessee) 4. März 2006 dieser Artikel beschreibt, wie FOIA erlaubt die Veröffentlichung eines Videos, das zeigt ein Briefing durchgeführt für Präsident George W. Bush von Michael Brown, Direktor der Federal Emergency Management Agency (FEMA). In dem Video schnelles Experten befürchtet, dass ein Hurrikan mit eine daraus resultierende hohe Zahl der Todesopfer, New Orleans überfluten könnten zu dem Präsident Bush antwortet "Wir sind gut vorbereitet."
  • "FBI Schuld Chiron für lax Bereinigung der Grippeschutzimpfung Pflanze" San Francisco Chronicle 21. Juni 2006 Chiron Corp., ein britisches Pharmaunternehmen, im Besitz einer Liverpool-Pflanze, die 50 Prozent der Influenza-Impfstoff verwendet von den Vereinigten Staaten hergestellt. Dieser Artikel beschreibt, wie im Jahr 2005 unter dem FOIA veröffentlichte Informationen zur Entdeckung führten, dass diese Pflanze Chiron Food and Drug Administration (FDA) Auflagen erfüllen nicht. Im Jahr 2004 die FDA erinnert und zerstört die Anlage gesamte Produktion ausführen, führt zu einem Grippe-Impfstoff-Mangel im Winter dieses Jahres. Die übermittelten zeigte, dass Chiron der Impfstoffe schließlich bis Oktober 2005 zugelassen waren, die USA betreffen Bürger warten auf den Impfstoff.
  • "Auf ging tödliche Krankheit nicht berichtet; Mesotheliom schlägt Jahre nach der Opfer durch Asbest " Star Tribune (Minneapolis, Minnesota), Aug. 21, 2005 Dieser Artikel beschreibt, wie die Mine Safety und Health Administration (MSHA) Records unter dem FOIA angefordert, das eine Lücke im Berichtsanforderungen ausgesetzt, die LTV Steel Mining Co. lassen Berichterstattung einen Trend Mesotheliom und anderen schwächenden asbestbedingte Erkrankungen unter Arbeitern in seine Minnesota Takonit Minen aus dem 1980 zu verzichten. Weil Mesotheliom in der Regel nicht mehr als 20 Jahre nach der Exposition gegenüber Asbest erscheint, LTV nicht gemeldet, Krankheiten und Todesfälle unter den Rentner (es ist für seine aktive Arbeitnehmer dazu verpflichtet). Wegen dieses Schlupfloch gab es keine Maßnahmen zur Verbesserung der Sicherheit der anderen Arbeitnehmer in der Mine. Das Versäumnis, Bericht Lunge Krankheit Fällen unter Minenarbeiter wurde von der Prüfung der Unterlagen angefordert, nach Reporter sprach mit Familien der betroffenen Arbeitnehmer in der Iron Range-Region entdeckt. Darüber hinaus entdeckt die MSHA auch, dass die Höchststrafe für Unternehmen, die gegen eine Krankheit berichten $60.

Die Exposition von Verletzungen der Vorschriften, unterdrückte Gesundheitsstudien und andere Informationen, die von diesen Artikeln publiziert, beweist die Bedeutung spielt der FOIA Bürger über die Daten, die von Bundesbehörden auf dem Laufenden zu halten. Durch die Gewährung der Fähigkeit für Bürgerinnen und Bürger alle Informationen von Regierungsbehörden anzufordern, bietet FOIA Bürger mit den gleichen Zugang zu behördlichen Informationen.

Auf dem Laufenden zu bleiben

FOIA ist ein Gesetz, das Bürger das Recht auf Auskunft der Bundesregierung gibt. Es wird oft als das Gesetz beschrieben, die Bürger über ihre Regierung auf dem Laufenden hält. Die MyFOIA Windows-Speicher-app dient die FOIA-Daten zugänglich machen. Die MyFOIA-app baut mit WebView-Steuerelement und WAMS. Das WebView-Steuerelement ermöglicht es, nicht nur nutzen Sie die vorhandene FOIAonline-Website, sondern ihn auch zu erweitern. WAMS macht es möglich, dass die Benutzer über zu einer FOIA Antwort benachrichtigt werden, in denen sie interessiert sind.

Die MyFOIA-app ist ein Work In Progress, aber ich habe den Code gepostet github.com/AppliedIS/Foia Sie überprüfen.

Schließlich möchte ich Pamela Steger für Hilfe bei diesem Artikel und Sajad Deyargaroo für Hilfe bei der Entwicklung der MyFOIA-APP zu danken.

Vishwas Lele ist CTO von Applied Information Sciences Inc. Er ist verantwortlich für Mitarbeitende Organisationen in übergeordneter, entwerfen und Implementieren von Unternehmenslösungen. Lele auch dient als Microsoft regional Director für den Bereich von Washington, D.C., und ist ein Windows-Azure-MVP. Sie erreichen ihn auf Twitter bei twitter.com/vlele.

Unser Dank gilt den folgenden technischen Experten von Microsoft für die Durchsicht dieses Artikels: Kraig Brockschmidt, Kevin Hill und Jake Sabulsky.
Kraig Brockschmidt arbeitete mit Microsoft seit 1988 helfen Entwicklern über schreiben, Bildung, öffentlich zu sprechen und direkte Engagement im Mittelpunkt. Er ist senior Programmmanager im Windows-Ökosystem-Team, die Zusammenarbeit mit wichtigen Partnern auf den Aufbau von Windows Store apps und brachten damit auch wissen an diese Erfahrung in die breitere Entwicklergemeinschaft gewonnen. Sein neuestes Buch heißt "Programming Windows 8 Apps in HTML, CSS und JavaScript" (ein kostenloses Ebook von Microsoft Press); Er Blogs auf kraigbrockschmidt.com/blog.

Kevin Hill (khill@microsoft.com)

Jake Sabulsky ist Programmmanager im Team Anwendungserfahrung in Windows. Er arbeitet seit 2009 in Windows. Jake's zwei Schwerpunkte während dieser Zeit wurden Gebäude der Webanwendungsplattform und verbessern die Kommunikation von app zu app-Geschichte für Windows Store apps.