wysiwyg_web_edit 1.0 - Readme_catala.txt per l'editor wysiwyg_web_edit desenvolupat a la Universitat Internacional de Catalunya (www.unica.edu) (16/07/2001), a partir de les aportacions de Fernando Álvarez (fer@onplaza.com). El wysiwyg_web_edit és un editor WYSIWYG de códi HTML per editar i construir pàgines HTML des d'un navegador, és a dir, a una pàgina web, sense necessitar el Composer, el Frontpage o d'altres programes especialitzats. Permet transferir el contingut directament al servidor mitjançant un submit o pas per URL. D'aquesta forma es pot fàcilment guardar les pàgines a una base de dades. El wysiwyg_web_edit pot ser utilitzat tan amb Netscape com amb Explorer. Es pot fer servir com a aplicació pròpiament o empotrar-lo a qualsevol pàgina web, i és completament personalitzable per part del programador que l'inclou a una pàgina. El editor wysiwyg_web_edit està escrit en HTML i Javascript, y fa servir PHP com a llenguatge de servidor. (Malgrat això, existeix una versió escrita exclusivament en JavaScript i HTML: veure capítol 6.- d'aquest document). Soporta vàries instàncies a una mateixa pàgina. (Veure capítol '3.- Inclusió de múltiples instàncies a una pàgina' en aquest document per a més informació). Té funcions per construir les estructures HTML més utilitzades: taules, links, text amb format, imatges, llistes numerades i no numerades, etc. Ara bé, no hi ha funcions per a la utilització de frames ni formularis. Ha estat testejat amb Netscape 4.76 i Explorer 5.0 El editor wysiwyg_web_edit es pot utilitzar en tres llengües diferents: català, espanyol e inglés. L'idioma es canvia fàcilment amb només variar el valor d'un paràmetre en el moment d'empotrar l'editor. Per dubtes i suggeriments podeu contactar amb gabi@unica.edu. ÍNDEX ===== 0.- Introducció 1.- Instal·lació 2.- Utilització modular de l'editor wysiwyg_web_edit. 3.- Inclusió de múltiples instàncies a una pàgina. 4.- Editor wysiwyg_web_edit sense PHP. 5.- Funció Save. 6.- Recepció al servidor de la pàgina escrita. 7.- Bugs coneguts. ================================================================================ 0.- Introducció El editor wysiwyg_web_edit consisteix en un control ActiveX (Dhtmled.ocx) que ve inclòs a la instal·lació standard de Explorer, que és comanat a Netscape a través d'un plug-in dissenyat per executar controls ActiveX a Netscape. (Aquest plug-in està desenvolupat per l'empresa Esker i és de lliure distribució. Per a més informació llegir el capítol '1.- Instal·lació' d'aquest document.) A més, s'afegeix una botonera d'icones que, a traves de funcions Javascript permeten controlar el que es mostra a l'objecte ActiveX (que és el quadre d'edició de texte), de forma que l'edició és WYSIWYG segons l'estil propi de les eines d'ofimàtica.(Fins i tot les funcions de Tallar, Copiar i Enganxar són OLE compatibles i per tant permeten enganxar objectes d'ofimàtica com fulles de càlcul o documents de text amb format.) Un cop completada l'edició del document es pot obtenir el codi font HTML corresponent al document que s'està veient al quadre d'edició. Això es fa mitjançant una funció Javascript que s'especifica a un dels paràmetres que es pasan al script PHP que genera l'editor. La pàgina de l'editor es construeix dinàmicament al servidor de forma personalitzada, mitjançant un sistema de parametrització que es detalla a l'apartat '2.- Utilització modular de l'editor wysiwyg_web_edit' d'aquest document. Per implementar això s'ha utilitzat, com a llenguatge de servidor, PHP. Un cop s'ha construit i transmés la pàgina, el client pot operar amb totes les funcionalitats. El que es faci quan s'acabi la pàgina i es clicki a sobre de l'icona 'Guardar' depen de la funció '$funcio_save' que es passa com a paràmetre, o bé de la pàgina $action_submit que s'especifiqui com a paràmetre. Per exemple, es pot passar (per submit o a la URL) el codi generat a una página del servidor i així enregistrar-lo a una base de dades. D'aquesta forma l'editor wysiwyg_web_edit constitueix una potent eina per gestionar un lloc web mitjançant una base de dades. Les funcionalitats que inclou l'editor wysiwyg_web_edit son: 1.- Nou document. 2.- Guardar (a través d'una funció JavaScript definida pel programador o per submit del contingut a una base de dades). 3.- Tallar, Copiar, Enganxar: Ole compatibles, és a dir, permet enganxar objectes d'ofimàtica com fulles de càlcul o documents de text amb format. 4.- Desfer i Refer: permet desfer (i tornar a fer) totes les accions des de l'inici de l'edició. 5.- Cercar: permet cercar cadenes de caracters al document. 6.- Generació de Links. 7.- Inserció d'imatges. 8.- Color de fons del document. 9.- Inserció de taules. 10.- Funcions per gestió de taules: afegir fila o columna, suprimir fila o columna, afegir i suprimir cel·les, combinar i dividir cel·les. 11.- Formateig de text: tipus i tamany de lletra, color del text i color de fons del text, negreta, cursiva, subratllat. 12.- Alineació de paràgraf: dreta, esquerra i centrat. 13.- Generació de llistes numerades i no numerades. 14.- Indentat i deindentat de paràgrafs. ================================================================================ 1.- Instal·lació Per utilitzar el wysiwyg_web_edit cal instal·lar certs components al servidor i certs components a cadascun dels clients en els que es farà servir. INSTAL·LACIÓ AL CLIENT INSTAL·LACIÓ PER UN CLIENT NETSCAPE: Per funcionar sobre Netscape, el editor wysiwyg_web_edit requereix la instal·lació en el client de varios elements: A) Plug-in de l'empresa Esker per executar controls ActiveX a Netscape. És de lliure distribució i existeixen programes d'instal·lació automàtica a la següent mailing list de Yahoo: http://groups.yahoo.com/group/esker-activex-plugin/ Cal registrar-se al grup per accedir a la descàrrega del plug-in. Això es gratuït i gens problemàtic. Un cop enregistrat s'accedeix a la instal·lació a la següent pàgina de la llista: Files/Versions/Esker ActiveX Plug-in 4.5/demo/npeskp32/install.htm Per Netscape 6.0 cal descarregar la versió 6.0 del Plug-in. El plug-in s'instal·la automàticament sempre i quan es tingui el SmartUpdate de Netscape habilitat. (De fet, per instal·lar el plug-in n'hi ha prou de copiar l'arxiu NPESKP32.dll al directori de plug-ins de Netscape). B) Cal instal·lar el control ActiveX PropertyAccessor que es troba a la mateixa mailing list a: http://groups.yahoo.com/group/esker-activex-plugin/ Cal registrar-se al grup per accedir a la descàrrega del plug-in. Això es gratuït i gens problemàtic. Un cop enregistrat s'accedeix al arxiu accessor.ocx a la següent ruta: Files/Miscellaneous/Properry Accessor/accessor/accessor.ocx Cal copiar-lo a qualsevol directori del disc dur local (per exemple a c:\my_path\) i després executar en linia de comandes (Inicio -> Ejecutar ): regsvr32.exe "c:\my_path\accessor.ocx" C) Cal instal·lar el control ActiveX Dhtmled.ocx. N'hi ha prou amb instal·lar Explorer per a que això es faci. Si no es vol instal·lar Explorer cal copiar els arxius Dhtmled.ocx i TRIEDIT.dll (que es troben aqualsevol client amb Explorer instal·lat ) a la carpeta (si no existeix cal crear-la): 'Archivos de Programa / Archivos comunes / Microsoft Shared / TRIEDIT'. INSTAL·LACIÓ PER UN CLIENT EXPLORER: No cal cap instal·lació especial per Explorer, perquè el control ActiveX Dhtmled.ocx ve per defecte amb la instal·lació de Explorer 5.0 o superior. Si no funciona sobre explorer cal copiar els arxiu Dhtmled.ocx i TRIEDIT.dll (que es troba a qualsevol client amb instal·lació standard de Explorer 5.0 o superior) al directori: 'Archivos de Programa / Archivos comunes / Microsoft Shared / TRIEDIT'. INSTAL·LACIÓ AL SERVIDOR Un cop instal·lats els dos components anteriors cal copiar tots els arxius continguts a wysiwyg_web_edit.tar.gz en un directori (lo cual conservarà l'estructura definida, amb tots els arxius *.gif en el subdirectori 'images'). Aleshores cal editar l'arxiu "wysiwyg_web_edit.h3p". Cal donar valor a dos paràmetres: $url_path_editor = "http://my_server/my_applications/wysiwyg_web_edit/"; // URL del directori de l'aplicación $abs_path_editor = "/absolute_path/wysiwyg_web_edit/"; // Path absolut (pel servidor de pàgines web), de l'editor wysiwyg_web_edit al servidor en el que s'ha instal·lat l'aplicación. Això es per a que es puguin fer els 'include' corresponents independentment del document en el que s'empotri el editor wysiwyg_web_edit. A més es requereix com a mínim PHP 3.0 al servidor. Si no es té PHP es pot tenir una versió no configurable del editor. Veure l'apartat '4.- Editor wysiwyg_web_edit sense PHP' d'aquest mateix document. NOTA: tots els arxius PHP de l'aplicació tenen l'extensió 'h3p' perquè aquesta és l'extensió que el nostre servidor Apache fa servir per reconèixer quins arxius han de ser parsejats per PHP. Si s'utiliza 'php3' o qualsevol altre cal fer el següent: a) Canviar les extensions de tots els arxius '*.h3p' i posar la nova extensió (per exemple '*.php3'). b) Reemplaçar la cadena '.h3p' per la que correspongui a la teva extensió (por exemple '.php3') a tots els arxius '*.h3p'. O bé, i poder més simple, configurar el servidor de págines web per a que reconegui '.h3p' com a extensió associada a PHP. ================================================================================ 2.- Utilització modular de l'editor wysiwyg_web_edit Per poder utilitzar el editor wysiwyg_web_edit com un mòdul empotrat en un document qualsevol cal fer el següent: A) Al document PHP posar les línies de parametrització. La llista de paràmetres i el significat dels seus valors és el següent (es mostra un exemple, amb els valors per defecte pels paràmetres): $nom_editor = "Ed1"; // Nom que prendrà l'objecte editor a la pàgina. Ha de ser diferent de tots els objectes JavaScript a la mateixa pàgina. Si s'inclou més d'una instància de l'editor a una mateixa pàgina, cadascun dels noms ha de ser diferent. $idi_edit = 'eng'; // Idioma d'utilització: 'eng' -> anglès, 'esp' -> espanyol, 'cat' -> català. $document_complet = 1; // Si val 1 se està editant un document complet, i per tant, el codi HTMl que rebrà la funció save o que s'enviarà per submit serà amb tags
... . Si val 0, se està editant una part d'un document i per tant el codi HTMl serà sense ... . $funcio_save= 'my_save_function(codigo);'; // Nom de la funció Javascript que es cridarà al fer click sobre l'icona de guardar. Sempre ha de tenir un paràmetre, que rebrà el codi generat. Des d'aquesta funció, que ha de suministrar el programador, es pot enviar el contingut a alguna url, etc. Si no es vool donar una funció JavaScrip es pot fer servir el següent paràmetre. $action_submit = "sample_submit.h3p"; // Url de l'arxiu al que s'enviarà per submit el codi HTML generat. Aquesta opció s'utilitza si no s'ha definit el paràmetre $funcio_save. $editor_width = 700; // Amplada (en pixels) del quadre d'edició de l'editor. $editor_height= 400; // Alçada (en pixels) del quadre d'edició de l'editor. $content_inicial = "Hello World"; // Contingut inicial a carregar al quadre d'edició. Ha de ser codi HTML, i sense salts de linia (cal que estiguin com a