Posted
Comments None

Update 25.04.2014 The plugin doesn’t work anymore with the new versions of the ZenPhoto.

About

This is a plugin for ‘Windows Live Photo Gallery”:http://get.live.com/photogallery/overview/” application that permits publishing photos to a installation of Zenphoto gallery.

The code is based on example plugin that comes with Photo Gallery SDK.

Using

Download the plugin bellow, install it, open Windows Live Photo Gallery, and then under “Publish” menu you can find “Zenphoto Plugin”.

Quick user guide

  1. Select at least one image and access the Zenphoto plugin under “Publish” menu.
    Zenphoto Plugin menu
  2. If you are using for the first time the Zenphoto plugin, then you have to create a session to Zenphoto installation. In the session name text box you can enter any string that you like but in Url text box you must enter the address of your gallery. Storing password is not recomended, but for testing connection to the gallery you must provide username and password before pressing “Test” button.
    Creating a new Zenphoto session
  3. In the “Publish” page you are able to edit or delete an existing session or to start the publish to the selected session.
    Publish page
  4. If everithing was ok (provided URL, username and password was correct) then you are directed to the “Upload” page. Here you can choose to publish in an existing album or in a new one.
    Upload to a new album
  5. Now you are ready to start uploading selected images to your Zenphoto gallery.
    Upload progress
  6. When the operation finishes a result dialog is displayed.
    Publishing reults

Download

WLPG Zenphoto Plugin is distributed under the GNU General Public License (I hope that doesn’t break the license of Microsoft Photo Gallery SDK examples).

You can download the installer or the sources

Happy publishing!

Credits

Version 1.2.0.49 contains modification done by Robert Tomek. Thanks Robert!

Disclaimer

Remember that this software is distributed as is and there is no responsibility of the author about any material or moral damage that it may cause.

Author

Posted
Comments None

Dupa cateva seri de lucru am reusit sa aduc intr-o stare functionala aplicatia WLPG FTP Plugin. Este un plugin pentru Windows Live Photo Gallery care permite publicarea fotografiilor pe un server FTP. Aplicatia poate fi descarcata. Ma astept sa aiba destule probleme deoarece nu este suficient testata, dar este un inceput. Astept comentarii, feedback, feature requests, contribuitori… Deorece eu folosesc WLPG pentru organizarea fotografiilor si zenphoto pentru publicarea lor as dori sa implementez un plugin WLPG pentru zenphoto… poate candva se va intampla.

Author

Posted
Comments None

Mi s-a intamplat de mai multe ori, dupa intoarcerea din concediu, sa simt nevoia unei aplicatii software de gestiune a “amintirilor” digitale. S-a intamplat mai demult si la momentul respectiv am ales Picasa. Vara acesta dupa ce m-am intors din concediu am vrut sa folosesc din nou Picasa – nu mi-a mai placut. Am ales in schimbĀ Windows Live Photo Gallery. Motivul principal? Pentru ca informatiile editate cu aceasta aplicatie sunt salvate in fisierul imagine. De atunci incerc sa folosesc aceasta aplicatie ca si manager al fotografiilor mele. Un lucru am simtit eu ca lipsea – posibilitatea scrierii unor plugin-uri pentru publicarea fotografiilor pe diferite site-uri web. Nu zic ca WLPG e mai bun decat Picasa, zic doar ca mie (in momentul de fata) imi place mai mult WLPG. Am primit o confirmare ca am ales bine atunci cand am aflat ca urmatoarea versiune (acum in stadiu beta) suporta Publishing API. Interoperabilitatea – o caracteristica care cred ca influenteaza mult succesul unei applicatii software.

Author

Posted
Comments None

Am avut mai multe incercari de-a lungul timpului sa editez documente folosind DocBook dar de fiecare data am ramas cu impresia ca este o metoda buna de “authoring” dar dificil de folosit. Cred ca documentatia in acest domeniu este foarte buna deorece este scrisa de oameni cu inclinare dar si care cunosc conceptele. Cu toate acestea este dificil pentru un incepator sa fie atras de aceasta modalitate de authoring pentru ca instalarea este relativ complicata, sunt multe versiuni, documentatia vasta. Si uneori mai apar si probleme de ordin tehnic!

Zilele acestea m-am confruntat din nou cu problema rezolvarii resurselor publice. Am inceput prin a scrie un articol folosind DocBook. XML-ul rezultat avea ca preambul urmatoarele:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML 5.0//EN" "http://docbook.org/xml/5.0/dtd/docbook.dtd">

iar XSLT-ul folosit pentru generarea codului HTML incepea asa:

<?xml version="1.0" encoding="ASCII"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl"/>

Dupa cum se vede cel putin urmatoarele resurse web trebuiesc rezolvate:

http://docbook.org/xml/5.0/dtd/docbook.dtd
http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl

Sigur, acest lucru se poate face simplu prin accesarea din Internet a acestor resurse. Atunci cand nu avem Internet sau dorim ca acest lucru sa se intample rapid este indicat ca aceste resurse sa fie disponibile local iar rezolvarea lor sa se faca local. Exista Entity Resolution care defineste un format XML pentru asocierea resurselor referite la alte resurse (inclusiv resurse locale). Aceste fisiere XML sunt numite “catalog” care permit gestiunea a doua tipuri de asocieri:

  • asociaza o entitate externa la URI-ul unei resurse;
  • asociaza URI-ul unei resurse la un alt URI;

Exemplu de fisier catlog:

<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="public">
<public publicId="-//OASIS//DTD DocBook XML 5.0//EN" uri="dtd/docbook.dtd"/>
<system systemId="http://docbook.org/xml/5.0/dtd/docbook.dtd" uri="dtd/docbook.dtd"/>
</catalog>

Pentru Java exista biblioteca Resolver care permite rezolvarea resurselor. Mai jos doua exemple:

java org.apache.xml.resolver.apps.resolver -d 99 -c d:/authoring/docbook-5.0/catalog.xml -p "-//OASIS//DTD DocBook XML 5.0//EN" public
Resolve PUBLIC (publicid, systemid):
public id: -//OASIS//DTD DocBook XML 5.0//EN
Result: file:d:/authoring/docbook-5.0/dtd/docbook.dtd
java org.apache.xml.resolver.apps.resolver -d 99 -c d:/authoring/docbook-5.0/catalog.xml -s "http://docbook.org/xml/5.0/dtd/docbook.dtd" system
Resolve SYSTEM (systemid):
system id: http://docbook.org/xml/5.0/dtd/docbook.dtd
Result: file:d:/authoring/docbook-5.0/dtd/docbook.dtd

Problema a inceput atunci cand am incercat sa folosesc aceasta biblioteca din ant. Exista elementul xmlcatalog care permite definirea unui catalog nou sau referirea unuia existent. Cand se refera un catalog extern este nevoie ca biblioteca resolver sa fie disponibila.

Acest lucru este documentat:

In addition, external catalog files may be specified in a nested catalogpath, but they will be ignored unless the resolver library from xml-commons is available in the system classpath.

Deci important este ca resolver.jar sa fie in system classpath altfel obtinem o notificare de genul:

Warning: XML resolver not found; external catalogs will be ignored

Inchei cu urarea May All Your Names Resolve Successfully!

Author

Posted
Comments None

Mai de mult am folosit oXygen XML pentru editarea fisierelor XML – varianta plugin pentru Eclipse”. De curand am avut din nou nevoie de un editor XML, am instalat versiunea 9.2 a oXygen XML, iar pe data de 23 Mai am cerut o licenta “trial”.
Astazi am avut surpriza sa observ ca perioada de incercare a aplicatiei s-a terminat.
Am incercat sa vad cat de simplu e sa prelungesti perioada de incercare.

Cutia cu scule:

Folosind jad am decompilat clasele din pachetele ro si com arhiva oxygenEclipse.jar.
Cand accesam preferintele pentru Oxygen din Eclipse un mesaj de notificare era afisat. Ca urmare m-am dus in fisierul descriptor al plugin-ului (plugin.xml) si am gasit clasa responsabila cu informatiile de inregistrare – com.oxygenxml.editor.preferences.MainPreferencePage. In aceasta clasa gasim:

int j = (int)Math.ceil((g.J().getTime() - System.currentTimeMillis()) / 0x5265c00L);

cod care, de la o posta se vede, determina numarul de zile care au mai ramas pana la expirarea licentei.
Pentru a avea un j mai mare ar trebui ca g.J().getTime() sa intoarca un timp cat mai departat de ziua curenta.
Astfel, in clasa ro.sync.D.G avem:

private void A(Date date, J j)
{
    A(date);
    A(j);
    long l = 0x5265c00L;
    O = new Date(E.getTime() + (long)j.A() * l);
}

Iar pentru ca O sa fie un Date cat mai in viitor ar trebui ca l sa fie cat mai mare.
Semnificatia lui l?

0x5265c00L = 86400000 milis = 86400 s = 1440 min = 24 ore

Deci sunt l milisecunde intr-o zi. Acest numar il consider un punct slab in securitatea oricarui soft. O simpla cautare prin cod dupa acest numar ne poate duce direct la locul unde putem modifica astfel incat sa prelungim perioada de licentiere.
Daca intr-o zi sunt de doua ori mai multe milisecunde decat normal atunci perioada de licentiere se dubleaza.
Pentru a face ca o zi sa aiba 172800 secunde folosim Class Contruction Kit iar apoi actualizam arhiva oxygenEclipse.jar cu clasa modificata.

Am vrut sa arat cat de simplu e sa prelungesti perioada de incercare a unei aplicatii si unde sunt punctele slabe.
Clasele desi sunt obfuscate, am demonstrat ca acest lucru nu este suficient. Raman totusi unele informatii (numele claselor entry point, diferite string-uri, diferite constante, etc) care pot fi folosite pentru a “sparge” securitatea aplicatiei.
Cele prezentate in acest post au scop pur demonstrativ, in nici un caz nu indeamna la folosirea ilegala a aplicatiilor software. Recomand calduros cumpararea acestei aplicatii.

Author

← Older Newer →