Zum Inhalt springen

Benutzer:Joergens.mi/Bücher mit commonist

aus Wikisource, der freien Quellensammlung

Automatisierung

[Bearbeiten]

Der Commonist-0.1.18 erledigt seine Aufgabe zum hochladen von Bildern sehr gut. Allerdings ist die Art der Einbindung des Informationstemplatea bei Büchern suboptimal. Ich habe deshalb 3 Modifikationen vorgenommen.

Dies führt zu folgenden Aufbau der Beschreibung auf Commons:

Aufbau der Beschreibung beim Hochladen eines Buches:

Sie steht in dieser Reihenfolge bei jedem Bild auf den Commons.

  • Navigationsbar um im Buch auf Commons zu blättern

{{BookNaviBar|JPGundlingB1_|jpg|Titel|002}}

  • Standard Header sinnvoll gefüllt
{{Information|	
|Description=This is a scan of the historical document with the title:<br/>
'''Geschichte und Thaten Kayser Konrad des Vierten, aus dem Geschlecht der Herzoge von Schwaben / 
wie auch Kayser Wilhelms aus dem Geschlecht der Grafen von Holland/ 
Aus den Schriften selbiger Zeit und anderen Dokumenten'''
|Source=scan from original book
|Date=1719
|Author=Jacob Paul von Gundling
|Permission=   
|other_versions=
}}
  • Template für dieses Buch um alle Zusatzinformationen abzulegen zum Beispiel die Kats. Der Vorteil ist Änderung werden einmal in diesem Template vorgenommen und gelten dann für das ganze Buch, somit muß nicht jede Seite angepackt werden. Ich wollte auch die Infobox hier hineinpacken da die ja auch für alle Seiten identisch ist, abr elian hatte Bedenken.

{{Jacob_Paul_von_Gundling_B1}}

  • Lizensierung

{{PD-Old}}


Dieses Template:Information soll und muss drin bleiben. Allerdings kann man dan keine Navigation automatisch einrichten.

  1. Damit wird erreicht das die Einzelbildbeschreibung vor und nicht in die Infobox kommt. Damit kann man dort eine Navigationsvorlage einbinden die über der Informationsbox und unmittelbar unter dem Bild liegt.
  2. In der Einzelbildbeschreibung habe ich die Vorlage BookNaviBar|Hasenbühl_|jpg|0|0 eingebunden diese hat 3 Parameter.
    1. Basisnamen des Buches. Der Basisname wird durch die Texte die in den nächsten beiden Feldern stehen ergänzt. Es ist immer sinnvoll die Bildnummern mit führenden Nullen anzugeben.
    2. die vorige Seite diese muß mit führenden Nullen eingegeben werden
    3. die nächte Seite diese muß mit führenden Nullen eingegeben werden
  3. Bei Büchern ist die Description öfters etwas umfangreicher uns stört in der gallery, deswegen habe ich sie durch den Bildnamen ersetzt.

Mir ist leider klar, das man das noch geschickter lösen kann. Aber bisher habe ich keinerlei Erfahrung mit JavaScript/oder Java. Scön wäre es wenn es feld gäbe wo ich die Vorlage eingeben kann und diese dann übernommen wird, so das man nicht immer im Code herumfummeln muß. Wobei sich das ja auf die Modifikation 2 beschränkt.

  • Modifikation 1
  • Orginal commonist.bsh, Verlegen der Einzelbildbeschreibung vor die Info-Box
// Orginal
/** compile a description text for a file using [[TemplateInformation]] */
String completeDescriptionTemplate(var commonData, var imageData)
{
    String nofeed(String s)
    {
        return s.replaceAll("^\\n+", "").replaceAll("\\n+$", "");
    }

    String compose(String common, String individual, String separator)
    {
        if (common.length() == 0
                || individual.length() == 0)
            separator	= "";
        return common + separator + individual;
    }

    var license	= License(commonData.license);

    return	"{{Information|"
           +  	"\n|Description="	+ compose(nofeed(commonData.description), nofeed(imageData.description), "\n\n")
           +	"\n|Source="		+ commonData.source
           +	"\n|Date="		+ commonData.date
           +	"\n|Author="		+ commonData.author
           +	"\n|Permission="	+ license.text
           +	"\n|other_versions="
           +	"\n}}"
           +	"\n"			+ license.template
           +	"\n"			+ compose(categories(imageData.categories), categories(commonData.categories), "\n");
}
  • Modifikation commonist.bsh
// Modifikation
/** compile a description text for a file using [[TemplateInformation]] */
String completeDescriptionTemplate(var commonData, var imageData)
{
    String nofeed(String s)
    {
        return s.replaceAll("^\\n+", "").replaceAll("\\n+$", "");
    }

    String compose(String common, String individual, String separator)
    {
        if (common.length() == 0
                || individual.length() == 0)
            separator	= "";
        return common + separator + individual;
    }

    var license	= License(commonData.license);

    return	nofeed(imageData.description)+ "{{Information|"
           + 	"\n|Description="	+ nofeed(commonData.description) + "\n"
           +	"\n|Source="		+ commonData.source
           +	"\n|Date="		+ commonData.date
           +	"\n|Author="	        + commonData.author
           +	"\n|Permission="	+ license.text
           +	"\n|other_versions="
           +	"\n}}"
           +	"\n"			+ license.template
           +	"\n"			+ compose(categories(imageData.categories), categories(commonData.categories), "\n");
}


  • Modifikation 2
  • Modifikation ui\ImageUI.bsh. Eintragen der Vorlage in die Beschreibung jedes einzelnen Bildes

Damit bei den Einzelbilderbeschreibungen die Vorlage eingeblendet wird und von Hand die passenden Seitenzahlen gesetzt werden könne.

public void init(File file_, Icon icon) {
	file	= file_;
	imageView.ToolTipText	= file.Name + " (" + human(file.length()) + " bytes)";
	imageView.Icon	= icon;
	imageView.Text	= icon == null ? "no thumb" : null;
	
	nameEditor.Text			= file.Name;
	descriptionEditor.Text	= "";
	categoriesEditor.Text	= "";
	uploadEditor.Selected	= false;
}
  • Modifikation ui\ImageUI.bsh.
public void init(File file_, Icon icon) {
	file	= file_;
	imageView.ToolTipText	= file.Name + " (" + human(file.length()) + " bytes)";
	imageView.Icon	= icon;
	imageView.Text	= icon == null ? "no thumb" : null;
	
        nameEditor.Text			= file.Name;
	descriptionEditor.Text	= "{{BookNaviBar|Hasenbühl_|jpg|0|0}}";
	categoriesEditor.Text	= "";
	uploadEditor.Selected	= false;
}


  • Modifikation 3

Damit der Name des Bildes in der Gallery erscheint

  • Orginal script\gallery.bsh
public void addImage(var location, String description) {
	String	loc		= location != null ? location.title : "unknown";
	String	desc	= description.replaceAll("\r\n|\r|\n", " ");
	//out.append("[[" + loc + "|128px|thumb|left|" + desc + "]]\n");
	out.append(loc + "|" + desc + "\n");
}
  • Modifikation script\gallery.bsh
public void addImage(var location, String description) {
	String	loc	   = location != null ? location.title : "unknown";
	String	desc	  =  location.title ;
	out.append(loc + "|" + desc + "\n"); 
}