Diferencia entre revisiones de «Soluciones practicas»
(→Slideshow de imagenes interactivas con descripcion de texto) |
(→Construccion de un canal con muchisimos campos) |
||
Línea 208: | Línea 208: | ||
== Construccion de un canal con muchisimos campos == | == Construccion de un canal con muchisimos campos == | ||
+ | Hola a todos | ||
+ | |||
+ | Comparto a continuacion mi experiencia siguiendo el FAQ | ||
+ | http://actionapps.org/faq/detail.shtml?x=1689 | ||
+ | |||
+ | Segun el FAQ hay un script hecho en Perl que sirve para construir | ||
+ | campos rapidamente un canal con muchisimo campos. El script esta | ||
+ | ubicado en | ||
+ | /loquesea/.../apc-aa/misc/txt2fields | ||
+ | |||
+ | Lo he probado en el ultimo CVS de las AA (2.8.1+) y funciona. | ||
+ | |||
+ | La idea es muy sencilla. Se trata de cargar el archivo que contiene | ||
+ | las instrucciones de creacion de los campos directamente a la base de | ||
+ | datos usando el script txt2fields. | ||
+ | La sentencia de ejecucion del archivo es algo asi: | ||
+ | |||
+ | root@server:/var/www/html/apc-aa/misc/txt2fields> ./txt2fields | ||
+ | 1f04dc8d7f560c0acd52a8043e7bf8e8 < canal | ||
+ | |||
+ | Donde 1f04dc8d7f560c0acd52a8043e7bf8e8 es el ID del Canal | ||
+ | |||
+ | y canal es un archivo de texto que en mi caso contenia lo siguiente: | ||
+ | |||
+ | ========================================= | ||
+ | field Administrador de Red | ||
+ | id headline........ | ||
+ | required 1 | ||
+ | alias1 _#ADMINIST | ||
+ | |||
+ | field Problemas de Conectividad | ||
+ | id text...........1 | ||
+ | input_show_func mch:Probl_conectivid: | ||
+ | alias1 _#PROBCONE | ||
+ | |||
+ | field Descripcion del problema de conectividad | ||
+ | id text...........2 | ||
+ | input_show_func txt:8 | ||
+ | alias1 _#PROBCON1 | ||
+ | |||
+ | field Soluciones para el problema de conectividad | ||
+ | id text...........3 | ||
+ | input_show_func txt:8 | ||
+ | alias1 _#PROBCON2 | ||
+ | |||
+ | field Problemas de Computadores o Servidores | ||
+ | id text...........4 | ||
+ | input_show_func mch: | ||
+ | alias1 _#PROBSER1 | ||
+ | |||
+ | field Descripcion del problema con Computadores o Servidores | ||
+ | id text...........5 | ||
+ | input_show_func txt:8 | ||
+ | alias1 _#PROBSER2 | ||
+ | |||
+ | |||
+ | field Soluciones para el problema con Computadores o Servidores | ||
+ | id text...........6 | ||
+ | input_show_func txt:8 | ||
+ | alias1 _#PROBSER3 | ||
+ | |||
+ | field Problemas de Software | ||
+ | id text...........9 | ||
+ | input_show_func mch: | ||
+ | alias1 _#PROBSOF1 | ||
+ | |||
+ | field Descripcion del problema con Software | ||
+ | id text..........10 | ||
+ | input_show_func txt:8 | ||
+ | alias1 _#PROBSOF2 | ||
+ | |||
+ | |||
+ | field Soluciones para el problema con Software | ||
+ | id text..........11 | ||
+ | input_show_func txt:8 | ||
+ | alias1 _#PROBSOF3 | ||
+ | |||
+ | field Problemas de Perifericos | ||
+ | id text..........12 | ||
+ | input_show_func mch: | ||
+ | alias1 _#PROBPER1 | ||
+ | |||
+ | field Descripcion del problema con Perifericos | ||
+ | id text..........13 | ||
+ | input_show_func txt:8 | ||
+ | alias1 _#PROBPER2 | ||
+ | |||
+ | field Soluciones para el problema con Perifericos | ||
+ | id text..........14 | ||
+ | input_show_func txt:8 | ||
+ | alias1 _#PROBPER3 | ||
+ | |||
+ | |||
+ | field Problemas de Equipos de Energia Estabilizada | ||
+ | id text..........15 | ||
+ | input_show_func mch: | ||
+ | alias1 _#PROBENE1 | ||
+ | |||
+ | field Descripcion del problema con Equipos de Energia Estabilizada | ||
+ | id text..........16 | ||
+ | input_show_func txt:8 | ||
+ | alias1 _#PROBENE2 | ||
+ | |||
+ | |||
+ | field Soluciones para el problema con Equipos de Energia Estabilizada | ||
+ | id text..........17 | ||
+ | input_show_func txt:8 | ||
+ | alias1 _#PROBENE3 | ||
+ | |||
+ | |||
+ | |||
+ | field Editado por | ||
+ | in_item_tbl edited_by | ||
+ | input_show_func nul | ||
+ | input_validate text | ||
+ | input_help Identification of last editor | ||
+ | search_show 0 | ||
+ | input_show 0 | ||
+ | id edited_by....... | ||
+ | search_ft_show 0 | ||
+ | search_ft_default 0 | ||
+ | input_insert_func uid | ||
+ | alias1 _#EDITEDBY | ||
+ | alias1_help alias for Last edited By | ||
+ | |||
+ | field Fecha de expiracion | ||
+ | in_item_tbl expiry_date | ||
+ | input_show_func dte:1:10:1 | ||
+ | input_validate date | ||
+ | input_help Date when the news expires | ||
+ | search_show 0 | ||
+ | input_show 0 | ||
+ | alias1_func f_d:m/d/Y | ||
+ | id expiry_date..... | ||
+ | search_ft_show 0 | ||
+ | search_ft_default 0 | ||
+ | required 1 | ||
+ | input_insert_func dte | ||
+ | alias1 _#EXP_DATE | ||
+ | text_stored 0 | ||
+ | alias1_help alias for Expiry Date | ||
+ | input_default dte:2000 | ||
+ | |||
+ | field Comments Count | ||
+ | feed 1 | ||
+ | in_item_tbl disc_count | ||
+ | input_help Internal field - do not change | ||
+ | search_show 0 | ||
+ | input_show 0 | ||
+ | id disc_count...... | ||
+ | search_ft_show 0 | ||
+ | search_ft_default 0 | ||
+ | required 1 | ||
+ | input_insert_func nul | ||
+ | alias1 _#D_ALLCNT | ||
+ | alias1_help alias for number of all discussion comments for this item | ||
+ | input_default qte:0 | ||
+ | |||
+ | field Approved Comments Count | ||
+ | feed 1 | ||
+ | in_item_tbl disc_app | ||
+ | input_help Internal field - do not change | ||
+ | hidden 1 | ||
+ | input_show 0 | ||
+ | id disc_app........ | ||
+ | required 1 | ||
+ | input_insert_func nul | ||
+ | alias1 _#D_APPCNT | ||
+ | alias1_help alias for number of approved discussion comments for this item | ||
+ | input_default qte:0 | ||
+ | |||
+ | field Displayed Times | ||
+ | feed 1 | ||
+ | in_item_tbl display_count | ||
+ | input_help Internal field - do not change | ||
+ | search_show 0 | ||
+ | input_show 0 | ||
+ | id display_count... | ||
+ | search_ft_show 0 | ||
+ | search_ft_default 0 | ||
+ | required 1 | ||
+ | input_insert_func nul | ||
+ | alias1 _#DISPL_NO | ||
+ | alias1_help alias for number of displaying of this item | ||
+ | input_default qte:0 | ||
+ | |||
+ | field Resaltar | ||
+ | in_item_tbl highlight | ||
+ | input_show_func chb | ||
+ | input_validate bool | ||
+ | input_help Interesting news - shown on homepage | ||
+ | search_show 0 | ||
+ | input_show 0 | ||
+ | id highlight....... | ||
+ | search_ft_show 0 | ||
+ | search_ft_default 0 | ||
+ | input_insert_func boo | ||
+ | text_stored 0 | ||
+ | |||
+ | field Ultima modificacion | ||
+ | in_item_tbl last_edit | ||
+ | input_show_func dte:1:10:1 | ||
+ | input_validate date | ||
+ | input_help Date of last edit | ||
+ | search_show 0 | ||
+ | input_show 0 | ||
+ | alias1_func f_d:m/d/Y | ||
+ | id last_edit....... | ||
+ | search_ft_show 0 | ||
+ | search_ft_default 0 | ||
+ | input_insert_func now | ||
+ | alias1 _#LASTEDIT | ||
+ | text_stored 0 | ||
+ | alias1_help alias for Last Edit | ||
+ | input_default now: | ||
+ | |||
+ | field Publicado por | ||
+ | in_item_tbl posted_by | ||
+ | input_validate text | ||
+ | input_help Identification of author | ||
+ | search_show 0 | ||
+ | input_show 0 | ||
+ | id posted_by....... | ||
+ | search_ft_show 0 | ||
+ | search_ft_default 0 | ||
+ | alias1 _#POSTEDBY | ||
+ | alias1_help alias for Author | ||
+ | |||
+ | field Fecha de envio | ||
+ | in_item_tbl post_date | ||
+ | input_show_func nul | ||
+ | input_validate date | ||
+ | input_help Date of posting this news | ||
+ | search_show 0 | ||
+ | input_show 0 | ||
+ | alias1_func f_d:m/d/Y | ||
+ | id post_date....... | ||
+ | search_ft_show 0 | ||
+ | search_ft_default 0 | ||
+ | required 1 | ||
+ | input_insert_func now | ||
+ | alias1 _#POSTDATE | ||
+ | text_stored 0 | ||
+ | alias1_help alias for Post Date | ||
+ | input_default now: | ||
+ | |||
+ | field Fecha de publicacion | ||
+ | in_item_tbl publish_date | ||
+ | input_show_func dte:1:10:1 | ||
+ | input_validate date | ||
+ | input_help Date when the news will be published | ||
+ | search_show 0 | ||
+ | input_show 0 | ||
+ | alias1_func f_d:m/d/Y | ||
+ | id publish_date.... | ||
+ | search_ft_show 0 | ||
+ | search_ft_default 0 | ||
+ | required 1 | ||
+ | input_insert_func dte | ||
+ | alias1 _#PUB_DATE | ||
+ | text_stored 0 | ||
+ | alias1_help alias for Publish Date | ||
+ | input_default now: | ||
+ | |||
+ | field Slice | ||
+ | in_item_tbl slice_id | ||
+ | input_help Internal field - do not change | ||
+ | search_show 0 | ||
+ | input_show 0 | ||
+ | alias1_func f_n:slice_id........ | ||
+ | id slice_id........ | ||
+ | search_ft_show 0 | ||
+ | search_ft_default 0 | ||
+ | required 1 | ||
+ | input_insert_func nul | ||
+ | alias1 _#SLICE_ID | ||
+ | alias1_help alias for id of slice | ||
+ | input_default qte:1 | ||
+ | |||
+ | field Status Code | ||
+ | in_item_tbl status_code | ||
+ | input_show_func sel:AA_Core_Bins.... | ||
+ | input_validate number | ||
+ | input_help Select in which bin should the news appear | ||
+ | search_show 0 | ||
+ | input_show 0 | ||
+ | id status_code..... | ||
+ | search_ft_show 0 | ||
+ | search_ft_default 0 | ||
+ | required 1 | ||
+ | input_insert_func num | ||
+ | text_stored 0 | ||
+ | input_default qte:1 | ||
+ | search_show 0 | ||
+ | |||
+ | ============================================ | ||
+ | |||
+ | Es muy importante, insertar los campos que van de "Editado por" a | ||
+ | "Status Code" en el archivo canal que he mostrado pues sino los items | ||
+ | no se muestran en el administrador de items. | ||
+ | Dos observaciones. 1. Recuerden habilitar los permisos para leer el | ||
+ | archivo canal y que la ruta al binario Perl sea correcta dentro del | ||
+ | archivo txt2fields | ||
+ | 2. Al ejecutar el archivo todos los campos que estaban antes se borran. | ||
+ | |||
+ | Existe tambien un archivo inverso, el fields2txt, el comando para | ||
+ | usarlo es al reves | ||
+ | |||
+ | root@server:/var/www/html/apc-aa/misc/txt2fields> ./fields2txt | ||
+ | 1f04dc8d7f560c0acd52a8043e7bf8e8 > canal2 | ||
+ | |||
+ | En este caso el contenido de todos los campos se insertan en el archivo canal2 | ||
+ | Esto pueder servir para que chequeen la estructura de los campos de | ||
+ | otros canales y se den idea como programarlos despues en archivo de | ||
+ | texto | ||
+ | |||
+ | |||
+ | Saludos | ||
+ | Adam |
Revisión del 07:07 28 sep 2006
Contenido
Como editar un item en un website publico
Traducido de How to edit items in public website?
Hay un script fillform.php3 asociado con las utilidades javascript en include/fillformutils.php3. Este script toma el id de item largo de la variable my_item_id y llama a las funciones javascript para buscar los campos y llenarlos apropiadamente.
Tu debes usarlo de esta manera: Dentro del archivo file anonymous.shtml
Colocar los siguientes includes
<!--#include virtual="/anonym.html"--> <!--#include virtual="/aaa/fillform.php3"--> <!--#include virtual="/bottom.html"-->
Para editar un item con los viejos valores cargados en el formulario puedes llamarlo asi
anonymous.shtml?my_item_id=...
Hay dos parametros adicionales que muchos usuarios no necesitarán: usar "form=formname" cuando tu cambies el nombre del formulario que contiene los campos (usualmente es llamado "f"). Puede usar "notrun = 1" si tu deseas llenar los controles e.g. solamente despues de clickar en algun lugar.
Solamente los items posteados de un website público y no actualizado en el administrador de las AA puede ser editado de esta manera - un flag ITEM_FLAG_ANONYMOUS_EDITABLE se encarga de esto. Este es reseteado cada vez que tu envias un item con itemedit.php3
El mismo script puede ser usado para rellenar condiciones en una pagina de busqueda. Ver en How to refill conditions on searchform?
Slideshow de imagenes interactivas con descripcion de texto
Javascript. En el proyecto donde trabajo necesitaban un Slideshow de imagenes interactivas con descripcion de texto y asi que decidi implementarlo con AA. El asunto es sencillo. Pueden verlo en
http://ertic.inictel.net en la seccion Fotonoticia1. Bajar el script de
2. Crean una vista texto completo (tambien puede ser una vista lista de items de un solo item) y colocan el codigo de la siguiente manera. (En cada item lo configure para que albergara 10 fotos)
SECCION ENCABEZADO HTML
<input type="button" id="btnPrev" value="<<
Previous" onclick="Prev();"> <input type="button" id="bntPlay"
value="Play - Stop" onclick="Play()"> <input type="button"
id="btnNext" value=" Next >> " onclick="Next();">
<img id="_Ath_Slide" onload="OnImgLoad()">
<p><b>Description:</b> <SPAN id="_Ath_FileName"> </SPAN> <br> <b>Number of Pictures: <SPAN id="_Ath_Img_X"></SPAN> of <SPAN id="_Ath_Img_N"></SPAN> </b></p>
<script language="JavaScript1.2">
/* Interactive Image slideshow with text description By Christian Carlessi Salvad? (cocolinks@c.net.gt). Keep this notice intact. Visit http://www.dynamicdrive.com for script
- /
g_fPlayMode = 0;
g_iimg = -1;
g_imax = 0;
g_ImageTable = new Array();
function ChangeImage(fFwd) { if (fFwd) { if (++g_iimg==g_imax) g_iimg=0; } else { if (g_iimg==0) g_iimg=g_imax; g_iimg--; } Update(); }
function getobject(obj){ if (document.getElementById) return document.getElementById(obj) else if (document.all) return document.all[obj] }
function Update(){ getobject("_Ath_Slide").src = g_ImageTable[g_iimg][0]; getobject("_Ath_FileName").innerHTML = g_ImageTable[g_iimg][1]; getobject("_Ath_Img_X").innerHTML = g_iimg + 1; getobject("_Ath_Img_N").innerHTML = g_imax; }
function Play()
{
g_fPlayMode = !g_fPlayMode;
if (g_fPlayMode)
{
getobject("btnPrev").disabled = getobject("btnNext").disabled = true;
Next();
}
else
{
getobject("btnPrev").disabled = getobject("btnNext").disabled = false;
} } function OnImgLoad() { if (g_fPlayMode) window.setTimeout("Tick()", g_dwTimeOutSec*1000); } function Tick() { if (g_fPlayMode) Next(); } function Prev() { ChangeImage(false); } function Next() { ChangeImage(true); }
SECCION FILAS IMPARES
////configure below variables///////////////////////////// //configure the below images and description to your own. {switch({_#FOTO1___}).+:g_ImageTable[g_imax++] = new Array ("_#FOTO1___", "_#LEYEND1_");:} {switch({_#FOTO2___}).+:g_ImageTable[g_imax++] = new Array ("_#FOTO2___", "_#LEYEND2_");:} {switch({_#FOTO3___}).+:g_ImageTable[g_imax++] = new Array ("_#FOTO3___", "_#LEYEND3_");:} {switch({_#FOTO4___}).+:g_ImageTable[g_imax++] = new Array ("_#FOTO4___", "_#LEYEND4_");:} {switch({_#FOTO5___}).+:g_ImageTable[g_imax++] = new Array ("_#FOTO5___", "_#LEYEND5_");:} {switch({_#FOTO6___}).+:g_ImageTable[g_imax++] = new Array ("_#FOTO6___", "_#LEYEND6_");:} {switch({_#FOTO7___}).+:g_ImageTable[g_imax++] = new Array ("_#FOTO7___", "_#LEYEND7_");:} {switch({_#FOTO8___}).+:g_ImageTable[g_imax++] = new Array ("_#FOTO8___", "_#LEYEND8_");:} {switch({_#FOTO9___}).+:g_ImageTable[g_imax++] = new Array ("_#FOTO9___", "_#LEYEND9_");:} {switch({_#FOTO10__}).+:g_ImageTable[g_imax++] = new Array ("_#FOTO10__", "_#LEYEND10");:} //extend the above list as desired g_dwTimeOutSec=2 ////End configuration/////////////////////////////
SECCION PIE HTML
if (document.getElementById||document.all) window.onload=Play </script> <p><font face="Arial" size="-2">Free DHTML scripts provided by<br> <a href="http://dynamicdrive.com">Dynamic Drive</a></font></p>
3. Lo incluyen en su modulo de sitio o en su defecto en la pagina
SHTML que usen.
Basicamente, eso es todo
Saludos
Adam
Construccion de un canal con muchisimos campos
Hola a todos Comparto a continuacion mi experiencia siguiendo el FAQ http://actionapps.org/faq/detail.shtml?x=1689 Segun el FAQ hay un script hecho en Perl que sirve para construir campos rapidamente un canal con muchisimo campos. El script esta ubicado en /loquesea/.../apc-aa/misc/txt2fields Lo he probado en el ultimo CVS de las AA (2.8.1+) y funciona. La idea es muy sencilla. Se trata de cargar el archivo que contiene las instrucciones de creacion de los campos directamente a la base de datos usando el script txt2fields. La sentencia de ejecucion del archivo es algo asi: root@server:/var/www/html/apc-aa/misc/txt2fields> ./txt2fields 1f04dc8d7f560c0acd52a8043e7bf8e8 < canal Donde 1f04dc8d7f560c0acd52a8043e7bf8e8 es el ID del Canal y canal es un archivo de texto que en mi caso contenia lo siguiente: ========================================= field Administrador de Red id headline........ required 1 alias1 _#ADMINIST field Problemas de Conectividad id text...........1 input_show_func mch:Probl_conectivid: alias1 _#PROBCONE field Descripcion del problema de conectividad id text...........2 input_show_func txt:8 alias1 _#PROBCON1 field Soluciones para el problema de conectividad id text...........3 input_show_func txt:8 alias1 _#PROBCON2 field Problemas de Computadores o Servidores id text...........4 input_show_func mch: alias1 _#PROBSER1 field Descripcion del problema con Computadores o Servidores id text...........5 input_show_func txt:8 alias1 _#PROBSER2 field Soluciones para el problema con Computadores o Servidores id text...........6 input_show_func txt:8 alias1 _#PROBSER3 field Problemas de Software id text...........9 input_show_func mch: alias1 _#PROBSOF1 field Descripcion del problema con Software id text..........10 input_show_func txt:8 alias1 _#PROBSOF2 field Soluciones para el problema con Software id text..........11 input_show_func txt:8 alias1 _#PROBSOF3 field Problemas de Perifericos id text..........12 input_show_func mch: alias1 _#PROBPER1 field Descripcion del problema con Perifericos id text..........13 input_show_func txt:8 alias1 _#PROBPER2 field Soluciones para el problema con Perifericos id text..........14 input_show_func txt:8 alias1 _#PROBPER3 field Problemas de Equipos de Energia Estabilizada id text..........15 input_show_func mch: alias1 _#PROBENE1 field Descripcion del problema con Equipos de Energia Estabilizada id text..........16 input_show_func txt:8 alias1 _#PROBENE2 field Soluciones para el problema con Equipos de Energia Estabilizada id text..........17 input_show_func txt:8 alias1 _#PROBENE3 field Editado por in_item_tbl edited_by input_show_func nul input_validate text input_help Identification of last editor search_show 0 input_show 0 id edited_by....... search_ft_show 0 search_ft_default 0 input_insert_func uid alias1 _#EDITEDBY alias1_help alias for Last edited By field Fecha de expiracion in_item_tbl expiry_date input_show_func dte:1:10:1 input_validate date input_help Date when the news expires search_show 0 input_show 0 alias1_func f_d:m/d/Y id expiry_date..... search_ft_show 0 search_ft_default 0 required 1 input_insert_func dte alias1 _#EXP_DATE text_stored 0 alias1_help alias for Expiry Date input_default dte:2000 field Comments Count feed 1 in_item_tbl disc_count input_help Internal field - do not change search_show 0 input_show 0 id disc_count...... search_ft_show 0 search_ft_default 0 required 1 input_insert_func nul alias1 _#D_ALLCNT alias1_help alias for number of all discussion comments for this item input_default qte:0 field Approved Comments Count feed 1 in_item_tbl disc_app input_help Internal field - do not change hidden 1 input_show 0 id disc_app........ required 1 input_insert_func nul alias1 _#D_APPCNT alias1_help alias for number of approved discussion comments for this item input_default qte:0 field Displayed Times feed 1 in_item_tbl display_count input_help Internal field - do not change search_show 0 input_show 0 id display_count... search_ft_show 0 search_ft_default 0 required 1 input_insert_func nul alias1 _#DISPL_NO alias1_help alias for number of displaying of this item input_default qte:0 field Resaltar in_item_tbl highlight input_show_func chb input_validate bool input_help Interesting news - shown on homepage search_show 0 input_show 0 id highlight....... search_ft_show 0 search_ft_default 0 input_insert_func boo text_stored 0 field Ultima modificacion in_item_tbl last_edit input_show_func dte:1:10:1 input_validate date input_help Date of last edit search_show 0 input_show 0 alias1_func f_d:m/d/Y id last_edit....... search_ft_show 0 search_ft_default 0 input_insert_func now alias1 _#LASTEDIT text_stored 0 alias1_help alias for Last Edit input_default now: field Publicado por in_item_tbl posted_by input_validate text input_help Identification of author search_show 0 input_show 0 id posted_by....... search_ft_show 0 search_ft_default 0 alias1 _#POSTEDBY alias1_help alias for Author field Fecha de envio in_item_tbl post_date input_show_func nul input_validate date input_help Date of posting this news search_show 0 input_show 0 alias1_func f_d:m/d/Y id post_date....... search_ft_show 0 search_ft_default 0 required 1 input_insert_func now alias1 _#POSTDATE text_stored 0 alias1_help alias for Post Date input_default now: field Fecha de publicacion in_item_tbl publish_date input_show_func dte:1:10:1 input_validate date input_help Date when the news will be published search_show 0 input_show 0 alias1_func f_d:m/d/Y id publish_date.... search_ft_show 0 search_ft_default 0 required 1 input_insert_func dte alias1 _#PUB_DATE text_stored 0 alias1_help alias for Publish Date input_default now: field Slice in_item_tbl slice_id input_help Internal field - do not change search_show 0 input_show 0 alias1_func f_n:slice_id........ id slice_id........ search_ft_show 0 search_ft_default 0 required 1 input_insert_func nul alias1 _#SLICE_ID alias1_help alias for id of slice input_default qte:1 field Status Code in_item_tbl status_code input_show_func sel:AA_Core_Bins.... input_validate number input_help Select in which bin should the news appear search_show 0 input_show 0 id status_code..... search_ft_show 0 search_ft_default 0 required 1 input_insert_func num text_stored 0 input_default qte:1 search_show 0 ============================================ Es muy importante, insertar los campos que van de "Editado por" a "Status Code" en el archivo canal que he mostrado pues sino los items no se muestran en el administrador de items. Dos observaciones. 1. Recuerden habilitar los permisos para leer el archivo canal y que la ruta al binario Perl sea correcta dentro del archivo txt2fields 2. Al ejecutar el archivo todos los campos que estaban antes se borran. Existe tambien un archivo inverso, el fields2txt, el comando para usarlo es al reves root@server:/var/www/html/apc-aa/misc/txt2fields> ./fields2txt 1f04dc8d7f560c0acd52a8043e7bf8e8 > canal2 En este caso el contenido de todos los campos se insertan en el archivo canal2 Esto pueder servir para que chequeen la estructura de los campos de otros canales y se den idea como programarlos despues en archivo de texto Saludos Adam