Tortoise SVN on Linux ?
As a Software Developer or Project Manager one has to deal quite often with versioned documents (at least if he / she tries to keep minimum track of his / her work advancements). Without arguing on the individual advantages or disadvantages of SVN or GIT, most developers end up in using at least these two solutions (if not Mercurial and CVS as well). As a software engineering company that fully migrated to Ubuntu Linux Desktop we were searching for a tool similar to TortoiseSVN on Windows, that allows easy sharing and updating of repositories using the favorite Desktop Explorer (in our case Nautilus on Gnome). While addressing these task regularly we recently discovered RabbitVCS. We installed the tool on two different machines, one running Ubuntu Lucid (LTS) the other running Ubuntu Oneiric. It works like a charm, providing all menu entries that you need to neatly deal with SVN or GIT.
The only thing you have to do is to add the following PPA to your Ubuntu installation and update the repository afterwards (Ubuntu Karmic and Later)
EmailStatusSender – Benachrichtigungen bei Mantis Events
Wir hatten den Wunsch bei neuen Issues in diversen Projekten immer benachrichtet zu werden. Die Einstellungen in Mantis erlaubten uns leider nur alle Administratoren auf einmal zu informieren. Unsere Intention bestand aber darin, die Benutzer für jedes Projekt einzeln konfigurieren zu können. So entstand die Idee das Pluginsystem von Mantis dafür zu verwenden. Es ist eventbasiert und sendet diese an alle Plugins, die sich für dieses Event angemeldet haben.
Im Moment werden nur bei neuen Issues alle konfigurierten Benutzer informiert. Dabei ist es durch Konfigurationsoptionen auch möglich den Reporter und den Bearbeitenden auszusparen. Es wird sicherlich mit neuen Anforderungen wachsen und genereller werden. Das aktuelle Plugin ist bei GitHub zu finden. Über Patches, Kommentare und Feedback würden wir uns natürlich freuen.
Magento Query Builder
Wenn man mal bei Magento schnell in der Datenbank nachschauen will, dann ist das sehr umständlich durch die EAV Datenbankstruktur. Ab und zu tauchen ein paar fertige SQL-Querys auf, die aber nicht auf jeden Shop passen. Da es ziemlich aufwändig ist, sich immer per Hand die entsprechenden Statements zusammenzubauen, haben wir ein kleines Tool geschrieben, mit dem man sich die SQL-Querys bauen lassen kann. Dafür braucht man nur PHP + Verbindung zur Datenbank.
Dieses Tool findet ihr auf GitHub:
https://github.com/OSguard/Magento-Query-Builder
Das Beispiel:
https://github.com/OSguard/Magento-Query-Builder/blob/master/example_export_all_products.php
erklärt im Wesentlichen, wie man das Script benutzen kann. Man erzeugt sich ein Objekt, auf das man zugreifen will und lädt die Attribute:
$builder = new QueryBuilder('catalog/product', array(0,1)); $builder->loadAllAttributes();
Danach wählt man aus, welche Attribute man ausgeben will:
$attr = array( "entity_id", "sku", "name", "price", "url_path", "url_key", "attribute_set", "status", "created_at", "updated_at" ); $builder->selectAttributes( $attr );
Man kann z.B. noch die Bedienung einschränken, damit eine WHERE-Klausel gebaut wird:
$builder->setCond( 'type_id', '=', '"simple"');
Dann kann man sich das Query ausgeben lassen:
$builder->getQuery();
In unserem Beispiel wird dann folgender SQL-Befehl erzeugt:
SELECT a.entity_id AS entity_id, a.sku AS sku, t0.VALUE AS name , t1.VALUE AS price , t2.VALUE AS url_path , t3.VALUE AS url_key , b.attribute_set_name AS attribute_set, t4.VALUE AS STATUS , a.created_at AS created_at, a.updated_at AS updated_at FROM ( SELECT entity.* FROM catalog_product_entity entity WHERE entity.type_id = "simple" ) a LEFT JOIN eav_attribute_set b ON b.attribute_set_id=a.attribute_set_id LEFT JOIN catalog_product_entity_varchar t0 ON t0.attribute_id= 96 AND t0.entity_id=a.entity_id AND t0.store_id = 0 LEFT JOIN catalog_product_entity_decimal t1 ON t1.attribute_id= 99 AND t1.entity_id=a.entity_id AND t1.store_id = 0 LEFT JOIN catalog_product_entity_varchar t2 ON t2.attribute_id= 570 AND t2.entity_id=a.entity_id AND t2.store_id = 0 LEFT JOIN catalog_product_entity_varchar t3 ON t3.attribute_id= 481 AND t3.entity_id=a.entity_id AND t3.store_id = 0 LEFT JOIN catalog_product_entity_int t4 ON t4.attribute_id= 273 AND t4.entity_id=a.entity_id AND t4.store_id = 0
Das ist keine fertige Bibliothek, die man in ein Modul einbauen kann. Aber mann kann damit z.B. Export-Scripte bauen, die auch sehr viele Produkte in Sekunden exportieren, da hier der Magento-Weg sehr langsam ist. Oder es erleichtert das Arbeiten auf der Datenbank-Konsole. Zur Zeit ist das noch eine Rohfassung, vielleicht findet sich ja der ein oder andere, der bei der Entwicklung hilft. Der Code steht unter BSD-Lizenz.
