IPS Struktur/Scripte Dokumentation automatisch in einem Wiki

Also ich habe die folgende Version der DLL im „ext“ Verzeichnis von IPS liegen. Ich weiß nicht, ob sie für deine Version passend ist, aber Du kannst es ja versuchen. Einfach die Datei reinkopieren und den Dienst neu starten.

Gruß
Thorsten

php_curl.dll.zip (141 KB)

Naja, sowas nennt man „Punktlandung“, glaube ich :D.
Und kam im Wiki auch was an oder ist das Script einfach nur lange gelaufen und hat nix gemacht :p.

Gruß
Thorsten

… und die php.ini im IPS-Verzeichnis nicht vergessen, Zeile „extension = php_curl.dll“ einfügen:



```php

max_execution_time=300
error_reporting=E_ALL
register_globals=off
auto_prepend_file="C:\IP-Symcon\scripts\__autoinclude.inc.php"
extension_dir="C:\IP-Symcon\ext"
extension = php_curl.dll
extension = php_gd2.dll
extension = php_gettext.dll
extension = php_soap.dll
[DATE]
date.timezone="Europe/Berlin"

alles prima durchgelaufen und angekommen. Während ich staune muß ich aber erstmal verstehen wie so ein WIKI funktioniert:rolleyes:

Danke thorsten9, hat geklappt mit der .dll
und der .ini Änderung.

Nur die Umlaute werden nicht richtig dargestellt!

Im Anhang sieht man das Ergebnis, ist das so o.k.?

Gruss und Danke für Deine Bemühungen!

Wie wenn ich es gewusst hätte, habe ich mir gestern Abend MediaWiki auf meinem WHS installiert. g

Meine Scriptausführungszeit beträgt ~350Sekunden. Server zu schwach auf der Brust, oder was könnte hier der Grund sein?

Gruß,
Christian.

zu viele Elemente im IPS?

:smiley:

könnt sein…
meinst es wär an der Zeit aufzuräumen? :smiley:

aber ja, 911 Variablen sinds aktuell, mal sehn, was da so an Mist rumfliegt… mein ewiger Spiel- und Testtrieb :smiley:
Wobei jetzt gar nicht sooviel Müll rumliegt hm

na das ist ja noch nicht sooooviel als das man da den Grund vermuten könnte.

Zum Vergleich meine System-Statistik:

gut… liegt dann wohl am Server…

vermutlich, aber eher nicht an der IPS-Größe

Was lange dauert ist es, dass er jede Scriptdatei öffnet, ausliest und ins Wiki schreibt. Wenn die Scripte nicht ins Wiki kämen, dann wäre es deutlich schneller :rolleyes:.
Vielleicht sollte ich was bauen um die Scripte in Etappen zu inventarisieren.

Gruß
Thorsten

Hi Thorsten,

ohne jetzt schon einen runden Überblick über das Projekt zu haben vielleicht eine Anmerkung:

wenn ich mir das Inhaltsverzeichnis meines Objektbaumes anschaue (was mich schon fast erschlägt) fällt mir auf das die Einträge scheinbar nicht sortiert sind. Evtl. wäre eine alphabetische Sortierung nicht schlecht, noch besser würde ich eine 1:1 Abbildung des Objektbaumes finden :slight_smile:

ansonsten sieht das klasse aus (ich muß jetzt nur noch das Wiki verstehen :D)

Hallo thorsten!

schreibst du die Scripte bei jeder Ausführung ins Wiki?
wäre da nicht eventuell eine Abfrage des Änderungszeitpunktes sinnvoll?
somit würde nur die erste Ausführung lange dauern.


$SkriptInfo = IPS_GetScript($IPS_SELF);
$lastSave = date("d.m.Y H:i:s", filemtime($SkriptInfo['ScriptFile']));

echo $lastSave;

Gibt zb. das Datum zurück, wann die Datei zum letzten mal Gespeichert wurde.

Vielleicht noch eine Bitte an den ProjektOwner und die Mod’s:

aus meiner Sicht ist das ein „Kernprojekt“ im Forum und sollte somit einen eigenen Thread im Unterforum „Anleitungen / Nützliche PHP Scripte“ bekommen sowie einen dazugehörigen für Fragen/Support im Unterforum "Scripte, PHP, SQL Ich denke, letzteres kann schnell unübersichtlich werden :slight_smile:

Hallo Thorsten!

Mir ist vorhin aufgefallen das der Zeilenumbruch am Schluss, bei den Objekten, die seit mehr als x Tagen nicht verwendet wurden, nicht stimmt.

der if-Block:


if($Zeilenumbruch == 'Unix')
	{
	   $Zeilenumbruch = chr(10);
	} else {
	   $Zeilenumbruch = chr(13) . chr(10);
	}

gehört doch noch vor dem


if($UnbenutzteObjekteZeigen > 0)

oder?

Gruß,
Christian

@Christian: Danke für die guten Hinweise. Die Timestamp Prüfung, ob sich an dem Script was geändert hat werde ich auf jeden Fall einbauen. Das sollte die regelmäßige Laufzeit deutlich reduzieren :).

@Raketenschnecke: Also wenn es einen besseren/übersichtlichen Platz für den Thread gibt, dann kann es gerne verschoben/aufgeteilt/etc. werden.

Gruß
Thorsten

Hallo,

ich habe die hier gegebenen Anregungen eingebaut und die aktuelle Version im ersten Beitrag angehängt (http://www.ip-symcon.de/forum/f16/ip-symcon-struktur-scripte-dokumentation-automatisch-wiki-15852/#post136714).

Die Laufzeit bei der ersten Initialbefüllung dauert immer noch so lange wie vorher, aber Dank ChristianS Idee konnte ich die zyklische Laufzeit (nach der Initialbefüllung) bei mir von 1,5-2 Minuten auf < 10 Sekunden reduzieren :D.

Außerdem werden die Objekte jetzt alphabetisch sortiert, was das Zurechtfinden erleichtern sollte. Es ist zwar nicht 1:1 wie in der Konsole, aber hat jetzt wenigstens ein Menschenverstehbares Schema :rolleyes: (und nicht nach IDs sortiert).

Gruß
Thorsten

Sieht super aus!

Bin jetzt von über 500 Sekunden auf ~35 Sekunden runter :slight_smile:

Hi Thorsten,

sogleich übernommen und ausgeführt. Heute die ersten Änderungen der Scripte im Wiki, klasse!

Laufzeit war 13 Sekunden bei 4000 Objekten im IPS. Auch die Sortierung klappt! wirklich gut gemacht.

Was mir momentan ins Auge fäält: in der Übersicht „letzte Änderungen“ sieht man nur die ID des jeweiligen Scripts (bzw. dessen Filenamen). Damit kann ich nicht wirklich was anfangen. Optimal wäre hier sowas wie „Scriptname im Objektbaum“ und vielleicht noch besser Pfad im Objektbaum/Scriptname.
Keine Ahnung ob das geht bzw. wie aufwändig das ist.

Da wir es noch mit weiteren Updates zu tun haben werden (hoffe ich doch? ;)) vielleicht noch ein Punkt:
die individuellen Konfig-Daten im Script (Username, URL, Passwort) würde ich evtl. auslagern (in Variablen), dann überschreibt man beim reinkopieren der neuen Version nicht die längst vergessenen Konfigdaten:D

Aber ich bekomme Lust mehr damit zu arbeiten. Muss mich nur noch mit der Funktionsweise von so nem WIKI anfreunden :smiley:

Habe mich auch mal an die WIKI-Implemention ran gemacht.

Habe dazu die MediaWiki 1.17.0 von bitnami in der Stackversion, also ähnlich WAMP, in einer Windows-VM installiert. Die Wiki scheint acuh soweit zu laufen. Benutzer angelegt, alles auf deutsch ungestellt. Läuft.

Dann das Skript von Thorsten in IPS angelegt, Parameter angepasst und dann das erste mal laufen lassen.

Nun bekomme ich aus dem Skript folgenden Fehler mitgeteilt mit dem ich im Moment nichts anfangen kann.

Notice:  Undefined offset: -1 in [Test\Wiki\Wiki] on line 367
Die Seite hat sich geändert. Aktuelle Version ins Wiki einstellen.

Zeile 367 ist:

  $EditToken = $erg['query']['pages'][-1]['edittoken'];

Kann mir hier jemand auf die Sprünge helfen.