dissabte, 12 de maig del 2007

XML-RPC -> faultCode faultString

ALERT: NO sé com postejar codi XML, algú m'ajuda???

Se suposa que quan fas una cirda xml-rpc pots retornar una missatge d'error en cas de que no s'obtingui el resultat adequat o els paràmetres de la crida no siguin els que hagin de ser, en fi, que pot retornar errors.
ALERT!!!: NO sé com postejar codi XML si algú ho sap que m'avisi!!!


És per això que es retorna un XML format expressament amb dos paràmetres especials: faultCode i faultString

El format del XML és el següent:






faultCode

2002



faultString

courseList: Login Error







< values =" array('faultCode'"> $number,'faultString' => $string);
return xmlrpc_encode_request(NULL,$values);

I evidentment CAGADA PASTORET:

Al rebre el resultat veia el mateix resultat que a dalt, però el parser rebia el següent:





faultCode 2002 faultString courseList: Login Error





Un XML dintre un altre XML, o sigui que no podia veure on estava el problema ja que la sortida era la mateixa però la resposta del servidor no......

La solució? Doncs ben fàcil:

$values = array('faultCode' => $number,'faultString' => $string);
return $values;

El que passa és que un altre cop he perdut molt de temps per una tonteria on no podia identificar el que passava, cada dia els errors són més obscurs i google, com ja vaig dir uns posts dies endarrere ja no és el que era, i no m'ajuda a trobar documentació per descobrir les possibles errades que cometo.

És per això que he arribat a la següent conclusió: GOOGLE IS EVIL

Etiquetes de comentaris: , ,

divendres, 11 de maig del 2007

Dos dies perduts...

Dos dies perduts....

Fa dos dies que estava intentant integrar la API amb el server xml-rpc, no hi havia manera.....

El que fa uns dies em funcionava no anava ni a la de tres.

Avui he arribat a la conclusió, que alguna cosa no anava del tot bé, ja que no era normal.

Evidentment tot té una explicació, un maleit BUG del PHP!!!!!


http://bugs.php.net/bug.php?id=41293&edit=1


#41293 HTTP_RAW_POST_DATA fails to ever be set

La solució:

if (!isset($HTTP_RAW_POST_DATA)){
$HTTP_RAW_POST_DATA = file_get_contents('php://input');
}


Qui en té la culpa?

La Debian Sid ja que més o menys la tinc actualitzada dia a dia. Feia temps que no petava res important a la inestable, apart del fglrx l'altre dia....

Etiquetes de comentaris: , , ,

dijous, 19 d’abril del 2007

Qüestions vàries i diverses...

Doncs bé, el filtre es pot dir que està mig encaminat per no dir acabat.

Problemes:
  • No sé com fer taules a la NWIki -> mirar com es fan ja que enlloc diu res!!! (cercar exmples de mediawiki)
  • No sé com diferenciar llistes enumerades/no enumerades al xml del OO. S'hauria de mirar primer l'estil de la llista per saber com està definida però no sé com fer-ho....de moment.
  • Fer proves exhaustives per assegurar-me de que tot funcioni
TODO:
  • Divisions del text
  • Inserció d'imatges -> es poden posar directament a algun lloc de /moodle ???
  • Que funcini amb windows....buffff!!!!

Etiquetes de comentaris: , ,

divendres, 13 d’abril del 2007

6º Reunió

Aquest dimecres vàrem fer la sisena reunió.

Referent a la API ens hem de posar d'acord amb el mestre Pigui ja que tenia un disseny pensat, així que reunirem esforços amb ell per a desenvolupar-la.

Referent a l'extensió del OO, no hi ha cap novetat, hem de seguir fent-la tal com havíem previst.

Aquest cop va ser més com una reunió de seguiment que no pas per aclarir cap dubte o problema que tinguéssim.

Així doncs, ens posem les piles i continuem amb el PFC.

Etiquetes de comentaris: ,

dilluns, 19 de març del 2007

Fent el webservice....

Tal com diu el títol estem refent el webservice tal com havíem acordat.

Ara bé, per a fer-ho ens hem plantejat els següents reptes:
De moment això és tot.

Esperem tenir la feina enllestida la setmana que ve si tot va bé!

Etiquetes de comentaris: ,

divendres, 16 de març del 2007

4º Reunió

Avui hem tornat a quedar un altre vegada per a parlar del projecte.

Hem decidit bàsicament dues coses:

  • Des de l'extensió del OO enviarem un zip amb tota la informació del document per després processar-la directament al servidor, així ens estalviarem de fer transformacions i instal·lar filtres XSL a les màquines clientes, tanmateix la informació del document l'haurem d'enviar tant si com no.
  • Haurem de refer el webservice del tiddlywiky per a que compleixi totes les funcions de moodle 1.7 ja que inicialment es va fer pensant amb el moodle 1.6. Ja que ens haurem de connectar al webservice per introduir la informació del OO, ara per ara, considerarem que aquest objectiu és prioritari i deixarem una mica de banda el desenvolupament de l'extensió del OO.
Per tant, aquests dies ens dedicarem a refer el webservice amb un paraula al cap que a ningú deixa indiferent: refactoring!

Etiquetes de comentaris: ,

divendres, 9 de febrer del 2007

Primera extensió pel OpenOffice

Per crear l'extensió farem ús de PyUNO.

PyUNO es pot fer servir utilitzant els següents mètodes:

1. Dins de l'executable de Python(i fora del procés d'OpenOffice).

Aquesta metodologia s'utilitza quan:

  • Es comença a aprendre PyUNO, es té un enfocament més intuïtiu.
  • Es vol apuntar a execucions del script començant en processos separats (cgi-script dins un servidor web)
  • Es vol un entorn ràpid d'execució-codi, codi-execució

Un exemple de codi seria el següent:

Iniciar l'OpenOffice: oowriter "-accept=socket,host=localhost,port=2002;urp;"

Executar: .\python hello_world.py

2. Dins del procés d'OpenOffice.

Aquesta metodologia s'utilitza quan:
  • Es vulgui executar el programa en moltes màquines
  • Quan el programa depèn de crides d'altres programes
  • Es tingui més experiència amb pyUNO
  • Quan es vol el millor rendiment del programa
Per crear una extensió amb aquesta metodologia cal:
  • Realitzar el programa que volguem: hello_world.py
  • Assignar el programa a un event: Addons.xcu
  • Comprimir els dos arxius en un zip: zip hello_world.zip Addons.xcu hello_world.py
  • Hi ha 3 maneres per a instal·lar l'extensió creada:
    • /usr/lib/openoffice/program/unopkg add hello_world.zip
    • /usr/lib/openoffice/program/unopkg gui i afegir l'extensió
    • Obrir l'OpenOffice i afegir la instal·lació manualment tal com hem fet al pas anterior.

Finalment només ens cal executar l'extensió:



Etiquetes de comentaris: , ,

dijous, 8 de febrer del 2007

Python?

Tal com vaig dir ahir, les extensions pel OpenOffice es poden programar amb diferents llenguatges.

Ara bé, amb quin llenguatge desenvoluparem l'aplicació?

Hem decidit que la millor opció és fer-ho, és la de fer-ho amb Python.

Aquesta decisió ha estat basada en aspectes més personals que tècnics. Durant la carrera hem vist llenguatges com Java o C++ però en cap cas hem fet cap programa amb Python. Per això crec que Python és una bona elecció ja que al cap i a la fi el que estem fent és un treball de recerca, i això implica aprendre coses noves i experimentar amb nous llenguatges, mètodes de programació, etc.

En tot cas per veure les diferències entre Python i altres llenguatges hi ha diferents articles:

Tampoc entraré en detalls ja que podríem començar una discussió inacabable parlant de quin és millor que l'altre.

Personalment no en tinc ni idea de Python per això m'he passat pel safari books (el qual tots els estudiants de la UPC hi tenen accés gratuït encara que no ho sàpiguen) a veure quins llibres podrien ser interessant, de moment he trobat:
De moment no en compraré cap a amazon però qui sap....

Etiquetes de comentaris: , ,

dimecres, 7 de febrer del 2007

1º Reunió PFC

Avui he fet la primera reunió del PFC.

El projecte tractarà sobre el desenvolupament de l'aplicació Moodle.

I doncs, que és el Moodle??
Moodle is a course management system (CMS) - a free, Open Source software package designed using sound pedagogical principles, to help educators create effective online learning communities. You can download and use it on any computer you have handy (including webhosts), yet it can scale from a single-teacher site to a 50,000-student University. This site itself is created using Moodle, so check out the Moodle Demonstration Courses or read the latest Moodle Buzz

Inicialment ara no tocarem res del Moodle i ens centrarem amb el desenvolupament d'un plugin per a OpenOffice.

L'OpenOffice és un clon del mític Microsot Office:

L'OpenOffice.org 2.0 és la primer paquet ofimàtic de programari lliure que permet treballar amb el format OASIS Open Document Format for Office Applications (OpenDocument). L'OpenDocument és un format de document XML desenvolupat per OASIS, l'organisme internacional pel desenvolupament d'estàndard d'e-Business. Podeu utilitzar el format OpenDocument sense por de dependre de cap venedor o producte informàtic concret.

El paquet ofimàtic incorpora una base de dades relacional (Base) per completar el processador de textos (Writer), el full de càlcul (Calc), el gestor de presentacions (Impress) i l'eina de dibuix (Draw).

Gràcies a la nova interfície d'usuari, l'OpenOffice.org 2.0 és més fàcil d'aprendre i d'utilitzar per part dels usuaris menys experimentats i és significativament més compatibles amb els documents del Microsoft Office. L'OpenOffice.org 2.0 funciona sobre Microsoft Windows, GNU/Linux, Sun Solaris i això permet a l'usuari una millor flexibilitat a l'hora d'escollir la seva plataforma de treball.

Ara és el moment d'investigar com es desenvolupa un plugin per a OpenOffice.

Etiquetes de comentaris: ,