Geschwindigkeitsrausch mit Hindernissen

Der freundliche Mitarbeiter der Telekom hatte es dann doch geschafft…

Schon Ende November buddelten die Tiefbauer im Dorf herum und vergrößerten die Verteilerkästen um einen ziemlich großen Schaltschrank. Vektoring sollte auch in userem kleinen Dorf Einzug erhalten. Meine Neugier war geweckt.

Nach mehrfachen Anrufen verschiedener Callcenter Mitarbeiter und einigen Besuchen im lokalen Telekom Shop habe ich mich dann durchgerungen, den Zugang zum Internet etwas dicker zu machen. Den Ansatz, aus der letzten Meile auch das letzte herauszuholen fand ich gut, und so entschied ich mich, auch unseren Hausanschluss von 12 auf 50 MBit/S zu aktualisieren. Mit dem Verzicht auf die letzten 50 MBit sollte garantiert sein, dass die vorhandene Fritz!Box 7390 weiterhin tapfer ihre Arbeit verrichten kann.

Die Kosten bleiben die gleichen, nur das Kabel wird ca. 5x so dick. Ob mans braucht? Laufen doch Amazon Prime Filme auch so ohne Ruckeln über den Internet-verbundenen Sony-Fernseher. …Besser haben als brauchen…

Der Umstellungstermin wurde multimedial angekündigt und quasi täglich ein Sachstand per SMS und/oder Mail übermittelt. Am 19.1. sollte es so weit sein. Meine Anwesenheit sei nicht erforderlich.

Abends dann das Fiasko. Die Familie beklagt sich bei Ihrem lokalen Admin (ich), dass das WLAN nicht zu erreichen sei.

Beim Aufruf der Homepage des Routers begrüßte dieser mich dann auch gleich mit dem freundlichen Angebot, mich bei der Neueinrichtung zu unterstützen. Möge ich doch zuerst ein Passwort für den Zugang vergeben.

Vom Zurücksetzen des Routers hatte aber niemand gesprochen… Also Anmeldedaten herausgekramt und eingegeben. Das Ergebnis: Die Anmeldung ist fehlgeschlagen. Der Internet Anbieter antwortet nicht auf PPPoE Anfragen.

Die Hotline Mitarbeiter waren sehr freundlich. 3 Weiterleitungen und 2 Leitungsmessungen später weiß ich zumindest, dass meine Leitung funktioniert. Das war mir aber auch vorher schon klar.

Nach einigen Recherchen vom Internet Hotspot auf dem Dorfplatz aus, habe ich dann eine Lösung gefunden.

Unter den Einstellungen Internet->DSL-Informationen->Störsicherheit sind die Schalter für Angestrebte Störabstandsmarge, Impulsstörfestigkeit und Erkennung von Funkstörungen standardmäßig auf maximale Performance eingestellt.

Ich habe die Schalter in Richtung maximale Stabilität verstellt. Vielleicht ist die Leitung zum DSL Knoten durch unsere Straße doch etwas lang. Auf jeden Fall funktioniert es jetzt.

Bildschirmfoto 2018-01-21 um 12.36.02

Nun bin ich gespannt, ob ich den Turbo auch warnehmen werde…

Michael

Posted in Allgemein | Leave a comment

Dokumentation on ZEO working with WISE 1.2R2

From Tidepedia

Contents

1 What
2 Why
3 How
3.1 What to get
3.2 What to do
3.3 Now for some Webpages
4 What now

What

This section is about including ZEO to WISE 1.2R2 and setting up an architecture comprising of one (or more) Database-Server, and 1-n rendering Portalservers. The Art of balancing the Load is not covered in detail due to some open issues with Apache as a tool of choice.

WISE is a so called Product to ZOPE, the Z object publishing environment. ZOPE knows a toolset to serve a ZOPE Database (ZODB) to more than one portalserver based on TCP/IP connections. This toolset is an add-on to the ZODB called the Zope Enterprise Objects (ZEO).

In WISE 1.2R1 wich lives on the premises of ZOPE 2.6.4 backed by Python 2.34, ZEO is not part of the distribution. It sure is with the seperately sold ZODB Package 3.1.5 wich is the storage package used in ZOPE 2.6.4

We will get ZEO in a current Version (2.1.5) to work with the installed WISE to provide a network accessable Database server for 1-n rendering Machines serving the client requests for web-based information.

Why

Why Cluster WISE?

After some ugly encounters with performance issues of WISE even in the Enterprise Installation, we figured a cluster of machines to serve an evergrowing community within the german fleet should fix the issue.
Having concepts agreed upon and signed by COS CINCGERFLEET to collect and provide vital Information ressources for daily staff work via an information portal we based on WISE 1.2R2 we were in need of:

  • 24/7 allmost automatic failure tollerance as well as the
  • ability to balance loads in relation to user domains
  • ability to add or exchange portalserver hardware with minimum downtime for the enduser.

There are several other szenarios that would profit from the ability to connect more than one WISE Server to a common database-plattform.

CJHQ ISAF (C6) issued a PSR calling for improvements on the currently used WISE 1.2R2 with priority on scalability and robustness. – A Theatre information infrastructure that is not to be blocked by heavy access from outside users to the provided information, can be served via two separate servers working on one Database. One even in read only mode.

Do you have any further ideas for your problem that could be solved by clustering?

An architectural solution to provide loadbalancing and failover coverage is a server – cluster. So we needed to install a scalable, WISE based, 24/7 capable Information portal.

How

To put it simple: you need to get one or two things in addition to your WISE CD and do something to it.

What to get

For a WISE-cluster to make sense, you need

  • a minimum of two computers, one of which should at least cover the requirements for a WISE Server stated in the System Architecture document. Since this will be your database-server, concentrate on performant storage media (5 disks Raid5 or similar). IDE will also work for testing, but performance is heavyly dependant on overall I/O performance. Lots of users will kill an IDE Disk in no time.
    For starters, this machine will do to setup a working ZEO environment with 1 client. There is some drawback in performance by connecting the storage via ZEO, but it is now the base for our scalable architecture and we can add cheap Workstations with multo RAM and fast as lightning processors to render the Web-pages.
  • ZODB 3.1.5 from Zope.org´s repository as a zipfile. Unzip and take out the ZEO folder and relevant documentation if needet. Dump the rest.

What to do

This is a multipart story in whicht we will first setup one machine to act as

  • a ZEO server, serving the Database.
  • a ZEO client, rendering content from the database to the User. Aka a WISE Server.

Lets start with the ZEO Server:

  1. Install a WISE 1.2R2 WISE_1.2_Installation_Guide
  2. Copy the ZEO folder into WISE\lib\python.
  3. You now need to tell ZEO where it might find the Storage to serve.
  4. If you have your ..\var folder somewhere on the server, create a share for the instance_home. This one is named wise
  5. create a file config_storage.py in c:\program files\wise with the content:

    import ZODB.FileStorage
    Storage=
    ZODB.FileStorage.FileStorage(‘//ServerNameorURL/wise/var/data.fs’)

  6. Now you can start ZEO with the start.py handing over some parameters to tell zeo where to find the storage. You can put this into a cmd or bat file and link it to your desktop for reuse.
    cd C:\Program Files\WISE\bin python 
    c:\Program Files\wise\lib\python\zeo\start.py -p 7700 -S1=
    //ServerNameorUrl/wise/config_storage
    
    Storage config_storage refers to config_storage.py and 
    Storage refers to the Storage statement in that file.

Starting ZEO will leave a cmd window open with no messages displayed if all goes well.

We now have a ZEO Server running that is ready to serve database to several Rendering machines.

Now for some Webpages

To render the content of the Database into a Website, feed it and nurse it, we need a WISE Client. Now this is easy:

We have almost done the most of it by installing WISE in the first place. But that installation thinks it will find its data.fs and fileobjects in c:\program files\wise\var. But this way we would not be able to connect more than one WISE to the same Database… remember the purpose…?

So we tell WISE where to find its storage by putting a file into its instance_home telling it to connect to a ZEO Server on

ServerNameorUrl on port 7700 (in this example)

Create a file custom_zodb.py into instance_home
(aka //ServerNameorUrl/wise = the share wie installed earlier)

from ZEO.ClientStorage import ClientStorage 
Storage = ClientStorage(('ServerNameorURL', 7700)) 

Now we are left to tell WISE on startup where to find its INSTANCE_HOME. This can be achieved by changing two registry keys.

HKLM-Software-DigitalCreations-ZOPE-WISE- INSTANCE_HOME=//ServerNameorURL/wise

HKLM-System-CurrentControlSet-Services-WISE-parameters-start

add

INSTANCE_HOME=//ServerNameorUrl/wise

Now start WISE with net start wise from the commandline.

Voila. http://servername should now show a wise Site that is backed by a ZEO Server handing out the database.

What now

(open shoelaces)

First of all you can now add multiple WISE Servers redoing the last steps starting with the regedit.

Every WISE will serve content out of the same Database. If one drops out, the others
won´t notice.

You now got to put some brains and Hardware into balancing the website requests to one URL onto one of the multiple servers in sequence and the reply back to the requesting User.
but this is for another Howto.

Ah… please remember, to pack the Database and get rid of the z2.logs / apache access logs regularily.

Retrieved from “/tidepedia/index.php?title=Dokumentation_on_ZEO_working_with_WISE_1.2R2&oldid=60291”

This page was last modified on 2 June 2008, at 23:38.

Posted in Allgemein, Clustering, Product Hacks | Leave a comment

Some Success

After some two years of begging, nagging, and repteatedly asking for an account to the WISE SVN, a friend at ACT was so kind to let me store the WISE source code on my premisses. As NATO seems not to be interested to maintain, or even conserve the repository, and the server could as well just disappear from the face of the internet, I am so glad that we were able to pull the code out befor it could be passed to the NULL device.

So lets see what we can make of it, because there are allways…..

…WISE things to do!

Posted in Allgemein, english, Pläne, WISE 1.3, WISE/BRITE | Leave a comment

BRITE 1.1.2 continued…

What

I am checking out the Products as they come down the list.

First WISE thing to know: do stick to Internet Explorer. The first App that doesn´t work is the Chart Product, which will not let Firefox save the Table Data correctly.

If you are past that hurdle. The resulting chart will be displayed left-aligned within the WISE-Let in dimensions given in the properties menue. From my point of view, this would better be centered default.

The RSS Site:

While checking out, if the Chat was given rss capability, I noticed two points.

the URL to the rss-source is automaticly shortended to a relative link, if the rss-server is the same as the Client-Site. That is good, because it minimizes the chance of the long link error, that could occur in earlyer Versions.

What I didn´t expect however, was that the RSS Object can subsequently not be saved. Error: Object has no attribute “link”

An erronious RSS -Site Object is not shown as WISELet. Not good, because there is no hint wether a service has disappeared or a network problem has occurred while retrieving the Feed. The old Version showed a”Broken Feed” Message : better.

tbc

Posted in Allgemein | Leave a comment

Back to the Basics

Hi there again,

Long time no read…
You might say that I’ve been busy. And that is right. After leaving my cosy position with the Navy, struggling to get all my exams right, I now look forward to the biggest challenge for the time being: the Bachelor Thesis.

What will it be about? You might want to take a guess. Several topics have been tickling my mind up to now:

  • metadata
  • archiving content while maintainig the above with it
  • situational awareness and understanding
  • object oriented storage and retreival of information (objects)
  • linking Information in a graph
  • content management systems in general

I wouldn’t start to write about that here if I wouldn’t figure that WISE could and should play a role in all this.
So stay tuned as I will enroll my ideas before you and see if some or any combination of the above will make a decent thesis for me.

A lot of WISE things to do…

Michael

Posted in english, Pläne, Product Hacks, WISE 1.3, WISE/BRITE | Tagged , , , , | Leave a comment

Whats up?

Current proceedings

I am currently writing a handbook for a WISE 1.3 installation at an operational site. That is an

  • Installation (+ Modification),
  • Administration and
  • user document

in one or three seperate papers.

While the documentation that comes with WISE is ok for a plain vanilla setup, the above have to take the local environment into account.So much work to do.

On parllel Track we set up a multiserver environment to check if the clustering works as advertised.So far we found out, that again, it is not a good idea to use foldernames with spaces to hold wise\data.

Everything installs fine, but the WISE SERVERS will not connect to the Database Server because he cannot locate the datapath given. ?!

After having fixed that, we turned towards the loadbalancer wich seemed to be the most interesting role in the whole setup.On our WISE 1.2 cluster that is operational in a headquarter, we had to take POUND as a LB because we couldn’t get Apache 2.2.x to admire sticky sessions.

As we knew about the problem we were curious how ACT had solved that with the new version.Obviously they didn’t. 🙁

Out of the box, load balancing works pingpong with 2 WISE Servers as long as you don’t have to logon to maintain the Information. You log on and the form fields are posted to the o t h e r server naturally. This one might log you on and the next REQUEST / RESPONSE goes to / comes from the o t h e r Server…… guess what.

Functionally, once a logon is established, the user(session) has to stick to the one server that he loged onto, in order to keep this communication from going tumbleweed. We now have the problem to make an Apache balance the load between 2 + n Apache servers, which is not as simple as it seems.If you have any ideas on that, we are allways open to suggestions.I’ll keep you posted.

Mickey

Posted in Allgemein | Leave a comment

Things to do for 1.3

To Dave and Nick,

I sat together with XXXX of XXXXX’s operational training facility, who teaches WISE and MCCIS and took, a look on 1.3R1 Orca 13201.36 wich is the 22nd July build

As requested here are the results of the german jury:

We noted the following, mainly minor, issues:

  • Import:
    There is no way to import WISE 1.2 export files into a 1.3 WISE. Allthough the update works as advertised, importing WISE 1.2 .wexp Files results in a “…. either corrupt or invalid file format…..” message. That might be a major issue in ISAF when Backups or Archives need to be relaunched into a 1.3 site.
  • Bulletin Board:
    Management of topics is not possible due to a role and rights problem: “….no permission, login as another user….”
  • Layout function (1):
    Change of pagelayout is not reflected in the contentlayout view: Change from 3 column to 2 column layout should make the 3rd column indicate “hidden” and be of gray background color.  Also the “hidden” column is not greyed either as has been in 1.2
  • Layout function (2):
    Top and bottom rows are very picky about the dropzone for content items. If the cursor points somewhere on the blue header bar, one has to hit the title to be able to drop the object. If you stay below the line everything is fine.
  • Ticker:
    The Items per feed config issue has been fixed perfectly. Unfortunately only the WISELET in list view adheres to the preset. In WISELET ticker view, still all feed items are displayed. That is also true for the full view of the feed items.
  • Web directory:
    I didn’t check in 1.3, but it just stroke me:
    The Web Directory allways provides RSS from the root. Whereas you can call a category directly via URL-link, it would be a big architectural advantage for a sitebuilder, if the /rss would start from the given URL down the tree.
    Aka: if I call <server/webdirectory object/category/rss> I only get the content from that level downwoard in the feed.
    (Its on my Xmas whishlist)
  • Make Relative:
    still works, which I think is good. There may be a missleading wording in the issuetracker that suggests this feature to be taken out. If that is so: don’t.
  • Current User:
    The current User is shown left of the happy face on the global Menue. Although this is the appropriate place, we found that it would be better to highlight this from the Menue Items shown further left.
    Either a double instead of a single  pipe as devider, or use of the same green color as the happy face would seem helpfull to prevent mixups.
  • Sitemap:
    The Sitemapobject shows all Site/page objects in the hierachy.
    For architectural reasons some objects may be placed in “hidden” Area of the layout, not to be used directly or seen by the common user. Sitemap however reveals all “secrets”.
  • Favorites:
    Add a bookmarklet to header, left of the Meta Icon (I´ll provide one we use in ours if you like), to save the current page to windows (IExplorers) Favorites (could be considered a double feature to mywise however….)
    Or implement the Luxury version:
    save bookmark to a WebDirectory category selectable by user. (Social Networks, here come’s the WISE)
  • Community Files:
    The actual Community files provides a tree-view, which is helpful. Unfortunately it still lacks the RSS feature of the NC3A WISE File System.
  • Users:
    We would appreciate an additional column in the User-Listing, showing the Groups, this user belongs to, or equivalent a list of users, that belong to a group, or a highlighting of users in the user list , that belong to the selected group in the group listing.

Other than that, I envy your success in using apache as a load balancer. I promise to take a closer look into multiple servers setup some time soon.

Thank you very much for all the magnificent work you put into WISE and for picking up my (our) suggestions.
I still believe that there is no other product available, combining flexibility, ease of use and availability of complex features to build operational information portals, like WISE. And it keeps getting better. Keep on rockin’..

(maybe, I need to get a test version of  the application builder ) ;-D

regards to all the Staff at San Diego

Michael (Mickey) Maass

Posted in Allgemein | Leave a comment

Outsourcing the Userbase

Since a customer is looking into upgrading his WISE 1.1 installation I was asked to confirm the availability of active directory as a userbase in WISE 1.3.

The short story: confirmed.

But seriously… I put up a win2003 Server out of the box on a VM and added a group wiseuser as well as a new user michaelmaass to the directory.

After installing WISE 1.3 build June 2nd 2009 (in this case on the same machine) I was able to add an additional Account (aka userbase) to the WISE usermanagement.

WISE13-Accounts-1

There is an option of three types.

  • WISE Userbase
  • LDAP
  • Active Directory

I chose AD

WISE13-Active Directory Account 2

and ended up being able to assing WISE Roles (Siteadmin, Manager, User) to these on a WISE container.

WISE13-Active Directory Groups and Users as WISE Userbase-3

So for starters this looks like a winner in Single Sign On. We now only have to do all the usermanagement in active directory and make heavy but structured use of hierarchical grouping.

as allways: WISE things to do….

Posted in english, WISE 1.3 | Leave a comment

Sachstand ToDo Liste

Es wird mal Zeit für ein kleines Resüme: Im Artikel 44 (Der ToDo Liste) habe ich vor einiger Zeit mal ein wenig über Meta-Tags und Suchen im allgemeinen und im WISE nachgedacht. Mittlerweile hat sich einiges auf dem Sektor getan, sodaß ich 3 Tage vor dem Ausstieg sagen kann, …”alles wird gut”…Unsere Bemühungen, in Absprache mit den Verantwortlichen unserer Konzernweiten Suchmaschine, einen Weg zu einer sinnvollen indizierung unseres Contents zu finden scheinen erfolgreich zu sein.Die vormals beschriebene Contentmap (siehe auch kategorie “Suchen” funktioniert nach ersten Informationen wie geplant. Nun ist noch weiteres Finetuning der angebotenen Objekte auf unserer Seite notwendig. Z.B. sollten wir die Vererbung des releasability Eintrags weiter mit den Programmierern aus SanDiego verfolgen, oder aber uns operative Gedanken über die Auswahl der zu indizierenden Objekttypen machen.NOTE: Die SearchList funktioniert übrigens nicht, wenn man sie über den Loadbalancer anbietet. Durch die Art und Weise, wie die Weiterleitung erfolgt, wird die ohnehin schon lange URI über das mögliche Maß ausgedehnt und erzeugt eine FehlermeldungDas Forschen nach einer kostengünstigen Suchmaschine für das Intranet hat endlich auch Erfolg gezeigt. Mit der IBM Omnifind Yahoo Edition (OYE) haben wir ein Produkt gefunden, das unsere dynamisch erzeugten Webseiten spidert und eine recht detaillierte Konfiguration ermöglicht.Einziger Nachteil (wenn man es denn so nennen kann) ist die Erfordernis dedizierter Hardware.Die Einbindung von Metadaten in den HTML Header ist erfolgreich und hat im Vorbeigehen noch schnell einen Bug im HTML Editor aufgezeigt, der durch Nick Channon unmittelbar behoben werden konnte. 

Posted in deutsch, Metadaten, Pläne, Suchen | Leave a comment

BugFixing

As I stroll through WISE 1.3 (nightly from 20th May) I noticed some functionalities not working.
The ones I´ll write about today are connected to the RSS functionality and the related products in WISE. RSS is one of the most important features of WISE, because it allows reuse of WISE Object information as well as the dynamic plugin of external Information sources. Web 2.0 or the smell thereoff at your fingertips.

No. 1 is an old foe:
Internet Explorer does not accept WISE Objects as dynamic Links to add to the Dynamic Linklist. I guess it will be the same for other feedreaders as it has been in WISE 1.2 R2, allthough I didn´t test it.
The other problem was, that Feeds containing special characters provoked “Broken Link” states due to unallowed characters. Unfortunately in German, special characters are kind ´a common.
The corrective action is, to get the Source for the RSSInterface.py from tide.act.nato.int/sd/wise and patch it as has been described earlyer in this blog (I believe?!) If not:

  1. delete the !Doctype – Statement referencing the DTD, this is to enable feeds to be added to the dynamic linklist in Internet Explorer (or else)
  2. extend the xml version  statement by encoding = “iso-8895-1” or whatever works for you. This takes care for special characters

No. 2 is new, as it concerns the Ticker product.
Ticker did not accept feeds from the outside (supposedly due to illegal characters) This Bug had been fixed in a patch, that did not make it into the nightly build I was using (most probably to the status, the patch was in) I copied the source from http://tide.act.nato.int/sd/wise/browser/branches/orca/Wise/NAWPPS/Ticker/RssProvider/RssProvider.py into the Ticker-RssProvider Folderl, restarted and everything was fine.

If you have questions about this, feel free register and comment.

Posted in DTML-Stuff, english, Issues, Product Hacks, WISE 1.3 | Leave a comment