Diferencia entre las páginas «Soluciones practicas» y «ActionApps Evento PERU 2007»

De ActionApps Documentacion
(Diferencia entre las páginas)
Saltar a: navegación, buscar
(Como almacenar variables URL en AA)
 
(Asistentes (presentes))
 
Línea 1: Línea 1:
__TOC__
+
Reunión de coordinación:
<div style="position: absolute; left: -10000px">
 
[http://x2d13247.blogspot.com Mark Lopez xanax]
 
[http://aw3236957.blogspot.com Richard Lopez xanax]
 
[http://x2b5c321.blogspot.com Elizabeth Phillips xanax]
 
[http://x2524a10.blogspot.com Kenneth Carter xanax]
 
[http://x2d62148.blogspot.com Kenneth Edwards xanax]
 
[http://x2867a3d.blogspot.com Barbara Parker xanax]
 
[http://aw3157bc0.blogspot.com Joseph Williams xanax]
 
[http://x226491b.blogspot.com Paul Gonzalez xanax]
 
[http://aw3794138.blogspot.com Deborah Jones xanax]
 
[http://x2c36540.blogspot.com Donna Johnson xanax]
 
[http://x2529b76.blogspot.com Mark Hill xanax]
 
[http://x212043c.blogspot.com Mary Scott xanax]
 
[http://x21730b5.blogspot.com Deborah Mitchell xanax]
 
[http://x2d160ba.blogspot.com Sharon Young xanax]
 
[http://x23287a4.blogspot.com Elizabeth Hall xanax]
 
[http://x28c49b3.blogspot.com Margaret Scott xanax]
 
[http://aw3284907.blogspot.com Ronald Phillips xanax]
 
[http://aw3b546c3.blogspot.com Deborah Miller xanax]
 
[http://x2c4b930.blogspot.com Karen Adams xanax]
 
[http://x25298da.blogspot.com Mark Nelson xanax]
 
[http://x250cb68.blogspot.com Donna Wilson xanax]
 
[http://x294c16b.blogspot.com Dorothy Roberts xanax]
 
[http://x2259b1a.blogspot.com Paul Brown xanax]
 
[http://x2c1258b.blogspot.com Carol Clark xanax]
 
[http://x245d809.blogspot.com Brian Martin xanax]
 
[http://x205831a.blogspot.com Elizabeth Hall xanax]
 
[http://x2ba2190.blogspot.com Kevin Evans xanax]
 
[http://x23b1946.blogspot.com Donald Martinez xanax]
 
[http://x24781db.blogspot.com Donna White xanax]
 
[http://x2b07cd3.blogspot.com Elizabeth Phillips xanax]
 
[http://x28b9503.blogspot.com Susan Scott xanax]
 
[http://x2976d4b.blogspot.com Michael Lewis xanax]
 
[http://x21a35b7.blogspot.com Edward Parker xanax]
 
[http://x2bd035c.blogspot.com William Evans xanax]
 
[http://x2a63704.blogspot.com Steven Carter xanax]
 
[http://x241c300.blogspot.com Thomas Rodriguez xanax]
 
[http://x207891a.blogspot.com Edward Lee xanax]
 
[http://aw32d7643.blogspot.com Kenneth Mitchell xanax]
 
[http://aw3b54693.blogspot.com Jeff Hall xanax]
 
[http://aw3029c86.blogspot.com Ruth Anderson xanax]
 
[http://x25ad143.blogspot.com Jennifer Young xanax]
 
[http://x2830461.blogspot.com Richard Walker xanax]
 
</div>
 
== Como editar un item  en un website publico==
 
Traducido de [http://actionapps.org/faq/detail.shtml?x=1724 How to edit items in public website?]
 
<div id="usernotes"><div class="note"><strong>[[Usuario:Adam|Adam]] 23:35 2 jun, 2006 (CEST)</strong><div class="text">Tu tienes preparado un formulario de envio anonimo publico y deseas usarlo para editar items. Como hacerlo?</div></div></div>
 
  
Hay un script fillform.php3 asociado con las utilidades javascript en include/fillformutils.php3.
+
Miércoles 27 de junio, a las 6.00pm en el local de CEPES (Av. Salaverry 818, Jesus Maria)
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:
+
Esperamos la participación de todos.
Dentro del archivo
 
file anonymous.shtml
 
  
Colocar los siguientes includes
+
Skype: peruviansoul
<pre>
 
<!--#include virtual="/anonym.html"-->
 
  
<!--#include virtual="/aaa/fillform.php3"-->
+
== Agenda Reunión 27/06/2007==
  
<!--#include virtual="/bottom.html"-->
 
</pre>
 
  
Para editar un item con los viejos valores cargados en el formulario puedes llamarlo asi 
 
  
anonymous.shtml?my_item_id=...  
+
Les comparto una propuesta para nuestra reunion del 27 en Lima, les agradeceria que hagamos un esfuerzo por cruzar informacion.
  
Hay dos parametros adicionales que muchos usuarios no necesitarán:
+
  1. Bienvenida (Maicu Alvarado)
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.
+
  2. Presentación de cada asistente
 
+
  3. Presentación de los objetivos de la reunión
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
+
  4. Definir la orientacion de los talleres de AA de julio. Sugiero dirigido en un 75% a desarrolladores pero tambien seria pertinente abrir un espacio para "nuevos valores".  
 
+
  5. Definir estructura y metodologia de talleres. Favor de pronunciarse los que estuvieron en las AACamp del 2004.  
El mismo script puede ser usado para rellenar condiciones en una pagina de busqueda. Ver en  [http://actionapps.org/faq/detail.shtml?x=1723 How to refill conditions on searchform?]
+
  6. Definir capacitadores de los talleres. Se aceptan propuestas de experiencias.  
 
+
  7. Planificar la logistica: financiamientos, local, equipos, materiales, acogida, invitaciones, etc
== Slideshow de imagenes interactivas con descripcion de texto==
 
 
 
<div id="usernotes"><div class="note"><strong>--[[Usuario:Adam|Adam]] 06:57 21 sep, 2006 (CEST)</strong><div class="text">Un dato que muestra el poder de las AA cuando se combinan con
 
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 Fotonoticia</div></div></div>
 
 
 
1. Bajar el script de
 
 
 
[http://www.dynamicdrive.com/dynamicindex14/interslide.htm Dynamic Drive]
 
 
 
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)
 
 
 
<pre>
 
----
 
SECCION ENCABEZADO HTML
 
 
 
----
 
 
 
 
 
<code><p><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();"></p></code>
 
 
 
<code><p align="center"><img id="_Ath_Slide" onload="OnImgLoad()"> </p></code>
 
 
 
<nowiki><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></nowiki>
 
 
 
 
 
<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
 
 
 
----
 
 
 
<nowiki>////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/////////////////////////////</nowiki>
 
----
 
SECCION PIE HTML
 
 
 
----
 
 
 
<nowiki>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></nowiki>
 
 
 
<!----------------------------------------------------------------------------------------------------------->
 
 
 
</pre>
 
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
+
Creo que seria importante:
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
 
 
 
== Creacion de funcion personalizada para campo    ==
 
 
 
Hola a todos
 
 
 
Quisiera comentar como he logrado crear una funcion personalizada para
 
un campo siguiendo los pasos señalados en el siguiente FAQ
 
http://actionapps.org/faq/detail.shtml?x=1773
 
 
 
El problema era configurar un campo DOCUMENTOS con 17 checkbox que
 
muestre el avance en % de los documentos entregados segun se vayan
 
marcando los checkbox. Por ejemplo, si marcaba la mitad de los
 
checkbox, el campo debia mostrar 50% y si marcaba todos debia mostrar
 
100%.
 
 
 
Como no hay una funcion en las AA estandar que mida la cantidad de
 
checkbox marcados tuve que hacer una funcion personalizada. El codigo
 
de la funcion tuve que ponerlo en
 
/var/www/html/apc-aa/include/usr_aliasfnc.php3
 
 
 
Por si acaso el archivo usr_aliasfnc.php3 se tiene que crear pues no
 
existe por defecto. Para llamar a la funcion use el alias 2 del campo
 
DOCUMENTOS con el tipo de funcion
 
 
 
f_u - definida por el usuario
 
 
 
y en los parametros puse:
 
 
 
usr_contar:
 
 
 
 
 
Por ultimo, el codigo de la funcion php que use es el sgte:
 
<pre>
 
<?php
 
 
 
function usr_contar ($columns, $col, $param)
 
{
 
      $contador=0;
 
      $cadena='';
 
 
 
// 17 es el numero total de checkbox
 
 
 
              for ($i=0;$i<17;$i++){
 
              if($cadena.$columns[$col][$i][value]!='')
 
              {$contador++;}
 
 
 
              }
 
 
 
              $porcentaje = round((($contador/17)*100),2);
 
 
 
              return $porcentaje;
 
 
 
  }
 
?>
 
</pre>
 
 
 
No olviden, que para ver el campo debemos meterlo en la ventana de
 
diseño del administrador de items.
 
 
 
== Suma total de un mismo campo en todos los items de un canal  ==
 
--[[Usuario:Adam|Adam]] 19:54 4 feb, 2007 (CET)
 
Hola a tod@s
 
 
 
Les comparto el procedimiento que he empleado para hacer una consulta
 
directa a la base de datos de las AA para sumar un mismo campo en
 
todos los items de un canal. Puede servir para generar reportes
 
estadisticos de una lista de items (con esto ya estamos cerca de armar
 
un modulo de encuestas muy simple usando los mismos items de un
 
canal). Lo he programado en php.
 
 
 
Una nota previa
 
 
 
El Id del canal que vemos en la ventana de administracion no es el
 
mismo que se almacena en la base de datos. Revisando el codigo fuente
 
de las AA me di cuenta que se usa una funcion para "empaquetarla", la
 
funcion pack() .
 
 
 
Por ejemplo, si el Id del canal Noticias es
 
74656d706c6174657771777771776e6d su Id de almacenamiento en la base de
 
datos es Ú²œ�&à^"F‡Ö¡�²ŒF,... bien feo, no? Entonces para hacer
 
cualquier consulta a la base de datos necesitamos convertir
 
(empaquetar) el Id de la siguiente manera
 
 
 
<nowiki>
 
$codigo=pack('H*','74656d706c6174657771777771776e6d');
 
</nowiki>
 
 
 
al hacer esto la variable $codigo capturara el valor Ú²œ�&à^"F‡Ö¡�²ŒF,
 
con el cual podemos hacer todas las consultas que queramos :)
 
 
 
El codigo que use es el siguiente y pueden copiarlo en un script php
 
dentro del servidor que tiene sus ActionApps cambiando claro los datos
 
que se necesiten como el Id del canal, los datos de acceso a la base
 
de datos y los id de los campos. La consulta a la base de datos si es
 
la misma.
 
<pre>
 
<?php
 
 
 
$bd_host = "localhost";
 
$bd_usuario = "user";  /*****cambiar***/
 
$bd_password = "password"; /*****cambiar***/
 
$bd_base = "database"; /*****cambiar***/
 
 
 
$codigo=pack('H*','74656d706c6174657771777771776e6d');  /*****cambiar
 
por el Id de su canal***/
 
 
 
 
 
echo $codigo.'<br>';
 
 
 
 
 
$con = mysql_connect($bd_host, $bd_usuario, $bd_password) or die ("no
 
me puedo conectar");
 
 
 
mysql_select_db($bd_base) or die ("no me puedo conectarme a esa base
 
de datos");
 
 
 
/*****cambiar text...........7 por el valor del campo que quieren
 
sumar en todos los items***/
 
 
 
$result=mysql_query("select * from content,item,slice where
 
slice.id='$codigo'AND item.slice_id=slice.id AND
 
content.item_id=item.id AND content.field_id='text...........7'") or
 
die("consulta invalida");
 
 
 
 
 
echo "<table border=1>";
 
$suma=0;
 
while ($row=mysql_fetch_array($result))
 
{
 
echo '<tr><td>'.$row["item_id"].'</td>';
 
echo '<td>'.$row["field_id"].'</td>';
 
echo '<td>'.$row["number"].'</td>';
 
echo '<td>'.$row["text"].'</td>';
 
echo '<td>'.$row["flag"].'</td></tr>';
 
 
 
$suma = $suma + $row["text"];
 
}
 
echo "</table>";
 
echo $suma;
 
 
 
?>
 
</pre>
 
 
 
Con una consulta parecida se puede listar todos los items del canal si
 
usamos el id headline........
 
 
 
$result=mysql_query("select * from content,item,slice where
 
slice.id='$codigo'AND item.slice_id=slice.id AND
 
content.item_id=item.id AND content.field_id='headline........'") or
 
die("consulta invalida");
 
 
 
<nowiki>
 
echo "<table border=1>";
 
 
 
while ($row=mysql_fetch_array($result))
 
{
 
echo '<tr><td>'.$row["item_id"].'</td>';
 
echo '<td>'.$row["field_id"].'</td>';
 
echo '<td>'.$row["number"].'</td>';
 
echo '<td>'.$row["text"].'</td>';
 
echo '<td>'.$row["flag"].'</td></tr>';
 
}
 
echo "</table>";
 
</nowiki>
 
 
 
== Funcion personalizada para fechas extendidas en español  ==
 
--[[Usuario:Adam|Adam]] 19:49 4 feb, 2007 (CET)
 
 
 
La fecha 29/01/2006 se verá como Lunes 29 de enero del 2006.
 
 
 
Revisar
 
http://www.actionapps.com/faq/detail.shtml?x=1773
 
 
 
La funcion personalizada es
 
<pre>
 
 
 
<?php
 
 
 
  function usr_fecha_espanol($columns, $col, $param="") {
 
      $dte    = $columns[$col][0][value];
 
      $month  = array( 1 => "enero", 2=>"febrero", 3=>"marzo", 4=>"abril",
 
      5=>"mayo", 6=>"junio", 7=>"julio", 8=>"agosto",9=>"setiembre",
 
      10=>"octubre", 11=>"noviembre", 12=>"diciembre");
 
      $weekday = array(1=>"lunes",2=>"martes",3=>"miércoles",4=>"jueves",
 
      5=>"viernes",6=>"sábado",0=>"domingo");
 
      $m      = $month[ date("n", $dte)];
 
      $end    = ( !$param ? "" : $weekday[ date("w", $dte) ]);
 
      return $end." ".date("j", $dte) ." de $m "." de ". date("Y", $dte);
 
  }
 
 
 
 
 
?>
 
</pre>
 
Este codigo debes pegarlo dentro de un archivo que debes nombrar asi
 
usr_aliasfnc.php3
 
pues no existe
 
 
 
Este archivo debes colocarlo dentro de la carpeta de instalacion de
 
las ActionApps, por ejemplo, (no se cual sera la ruta en tu servidor)
 
 
 
/var/www/html/apc-aa/include/
 
 
 
siempre debe estar dentro de la carpeta include
 
 
 
Luego debes configurar el campo que usas como fecha poniendo en el
 
tipo de funcion
 
f_u - definida por el usuario
 
 
 
y en parametros debes poner
 
usr_fecha_espanol:
 
 
 
== Agrupacion de items repetidos para que parezcan unicos en vista listado  ==
 
--[[Usuario:Adam|Adam]] 02:40 6 feb, 2007 (CET)
 
 
 
Les comparto una solución en javascript para agrupar items repetidos
 
en vista listado de forma tal que parezcan unicos. Muchas veces
 
tenemos listados con varios tipos de clasificacion y quisieramos
 
mostrarlos en una vista sin que se repitan. Pues bien aqui va el
 
codigo (lo use para hacer una seleccion de items en un modulo de sitio
 
junto al parametro als para pasar el parametro "tema" a la condicion 1
 
de la vista ubicada en ese nodo)
 
 
 
 
 
<pre>
 
----
 
En Encabezado HTML
 
----
 
<script language="JavaScript">
 
arr1 = new Array()
 
arr2 = new Array()
 
 
 
----
 
En Filas impares
 
----
 
arr1[_#ITEMINDX] = "<a
 
href=index.shtml?s=A&e=a&r=a&als[tema]=_#NOM_TEMA>_#NOM_TEMA</a>"
 
 
 
----
 
En Pie HTML
 
----
 
 
 
for (c in arr1)
 
arr2[arr1[c]] = c
 
 
 
for (c in arr2)
 
document.write( c + '<br>');
 
</script>
 
----
 
 
 
</pre>
 
Eso es todo. El codigo lo tome de
 
http://www.thescripts.com/forum/thread443941.html
 
Un dato adicional, para probarlo use una consola javascript
 
http://personal-de-jall.webcindario.com/software/consola_js.php
 
 
 
==Como se pasan parametros a una funcion personalizada==
 
 
 
Muchas veces las funciones para cada campo nos quedan cortas y no nos
 
queda mas remedio que desear hacernos una a la medida. Si se sabe algo
 
de php es algo sencillo armarse una, el problema comienza cuando
 
queremos pasar un parametro. Bueno, despues de un par de horas
 
comprendi como funciona el asunto.
 
 
 
Lo que sucede es que las AA incluyen al nombre de la funcion
 
personalizada como parte de la variable parametro ($param). Por
 
ejemplo si uno configura su campo asi;
 
 
 
-----------------------------------------
 
Alias 1: _#MENU____
 
Función: f_u - definida por el usuario
 
Parámetros: usr_explode:>:1
 
Descripcion: Esta funcion sirve para dividir una cadena en varias
 
partes separadas por el signo > y para tomar el segundo valor de las
 
cadenas divididas
 
-----------------------------------------
 
Uno podria pensar que el valor de la variable $param es >, pues no, el
 
valor de la variable $param es TODA la cadena incluyendo el nombre de
 
la funcion," usr_explode:>:1 ", subrayo,toda la cadena. Una vez
 
descubierto esto, es facil darse cuenta que la captura de los
 
parametros que quisieramos pasar depende de que usemos funciones
 
nativas en php para extraerlos como la funcion split por ejemplo
 
 
 
Aqui les comparto el codigo comentado de una funcion que programé para
 
separar una cadena en varias parte separadas por el simbolo >, como
 
pueden ver puedo pasar tambien el valor de 1 para indicar que solo
 
quiero trabajar con la segunda cadena separada (la primero es 0). Uno
 
puede pasar todos los parametros que quiera.
 
 
 
<pre>
 
<?php
 
 
 
function usr_explode ($columns, $col, $param)
 
{
 
$extrae_param = split(":",$param); // extrayendo el parametro
 
$cadena = html_entity_decode($columns[$col][0][value]); // Convertir
 
todas las entidades HTML
 
$trozos = explode($extrae_param[1],$cadena); // partimos la cadena
 
$posicion = $extrae_param[2]; // extraigo el parametro que me indica
 
el nivel del submenu
 
return $trozos[$posicion];
 
 
 
}
 
 
 
?>
 
</pre>
 
Saludos
 
 
 
Adam
 
 
 
 
 
==Como almacenar variables URL en AA==
 
 
 
Uno de los problemas mas importantes cuando uno avanza en las AA, es
 
el almacenamiento de las variables pasadas por URL. Hasta donde he
 
sabido hay dos formas conocidas de definir y almacenar variables.
 
 
 
1.El uso de "als", pero su uso esta restringido a pasar una variable
 
entre un nodo y otro, despues de eso pierde su valor. Ver
 
http://actionapps.org/faq/detail.shtml?x=1738
 
2. Se pueden tambien almacenar variables en el archivo de control del
 
modulo de sitio pero su valor es definitivo. Ver
 
http://actionapps.org/faq/detail.shtml?x=1680
 
 
 
Sin embargo, muchas veces queremos definir una variable que pueda
 
permanecer mientras vamos navegando en la web o cambiarla a voluntad.
 
Hay una alternativa, usar el archivo de control del modulo de sitio,
 
esto presupone que para que esto funcione tengamos la web diseñada en
 
el modulo de sitio.
 
 
 
Bueno, esto puede hacerse normalmente con un archivo de control. El
 
detalle comienza cuando la variable que quiero usar tendrá mas de 1
 
caracter. Por ese motivo les comparto un archivo de control de 5
 
niveles, donde el valor de la variable t puede almacenar cadenas de
 
caracteres de hasta 50 en este caso.
 
 
 
Saludos
 
 
 
Adam
 
 
 
=========================================================
 
<pre>
 
<?php
 
#este script trabaja con 5 niveles
 
# apc: variable de estado
 
# campos:
 
#  Caracter      Valores                  Significa
 
#  --------  --------------        ------------------------------------
 
#  1                                      nivel 1 ($s)
 
#  2            0-9 ó a-A ó A-Z  nivel 2 ($e)
 
#  3            0-9 ó a-A ó A-Z  nivel 3 ($r)\
 
#  4            0-9 ó a-A ó A-Z  nivel 4 ($a)
 
#  5            0-9 ó a-A ó A-Z  nivel 5 ($t)
 
#  6+            numérico              Número de Página ($p)
 
#  +7+          numérico              Identificador de Item (corto) ($x)
 
 
 
 
 
# Inicializar la variable de estado si no está especificada
 
if( !$apc )  $apc = 'I---x1-';
 
 
 
# Separar la variable de estado $apc en cada una de los estados
 
# (los valores actuales se prefijan por o:  $s actual es $os)
 
 
 
$patron =  "/^([a-zA-Z])(-|[a-zA-Z])(-|[a-zA-Z])(-|[a-zA-Z])(-|[a-zA-Z\s]{1,50})(-|[0-9]+)(-|[0-9-]+)$/s";
 
//una letra, un guion o una letra, un guion o una letra,un guion o una
 
letra,entre 1 y 20 guiones o letras o espacios en blanco, un guion o
 
cualquier numero,un guion o cualquier numero
 
 
 
if( preg_match($patron,$apc,$vars )) {
 
list($anterior, $os,$oe,$or,$oa,$ot,$op,$ox) = $vars; //asigna una
 
variable a cada elemento del arreglo
 
                                                                                                              //si es que esta bien la cadena asignada por url  a la
 
variable $vars
 
$parse="okas # $apc # $ot";} // bota el resultado
 
else {
 
# si la variable $apc esta en formato equivocado, se inicializa
 
list($anterior, $os,$oe,$or,$oa,$ot,$op,$ox) =
 
array('I','-','-','-','x','1','-');  //asigna valores a cada elemento
 
del arreglo
 
                                                                                                              //si es que NO esta bien la cadena asignada por url  a
 
la variable $vars
 
$parse="error # $apc # $ot";// bota el resultado
 
}
 
 
 
# sh_itm es el identificador largo de un item
 
# lo colocan las action cuando se hace "vista preliminar"
 
# Aqui se obtiene la vista para mostrar ese item, y se asigna el
 
# correspondiente "short item id" a la variable x
 
if ( isset($sh_itm) ) {
 
      $id = q_pack_id($sh_itm);
 
      $sql = "SELECT v.id AS vid, i.short_id AS sid FROM view v, slice s,
 
item i WHERE i.id='$id' AND i.slice_id=s.id AND v.slice_id=s.id AND
 
v.type='full'";
 
      $db->query($sql);
 
      if( $db->next_record() ) {
 
              $vid = $db->f('vid');
 
              $x = $db->f('sid');
 
      }
 
}
 
 
 
# Aqui se escriben las posibles peticiones URL.
 
 
 
if( isset($s) ) {$os=$s; $op='1';$ox='-';}
 
if( isset($e) ) {$oe=$e; $op='1';$ox='-';}
 
if( isset($r) ) {$or=$r; $op='1'; $ox='-';}
 
if( isset($a) ) {$oa=$a; $op='1'; $ox='-';}
 
if( isset($t) ) {$ot=$t; $op='1'; $ox='-';}
 
if( isset($p) ) {$op=$p; $ox='-';}              # pagina
 
if( !isset($x) && isset($ox) && $ox!='-') { $x = $ox; }
 
if( isset($x) ) {$op='-'; $ox=$x;}              # id de item a mostrar
 
if( isset($scrl) ) {                            # scroller de pagina, sirve para numerar las paginas
 
$pagevar = "scr_".$scrl."_Go";
 
$op = $$pagevar;
 
$ox='-';
 
}
 
  
# Para mostrar el contenido de un item cuando se especifica via el parametro
+
  1. Empadronar y registrar aquellas instituciones que usan las APC-AA
# "x":  encontrar la vista de texto completo para mostrar ese item
+
  2. Hacer un conversatorio abierto para determinar el impacto y la utilidad del uso
if ( isset($x) && !isset($sh_itm) ) {
 
      $sql = "SELECT v.id AS vid FROM view v, slice s, item i WHERE
 
i.short_id=$x AND i.slice_id=s.id AND v.slice_id=s.id AND
 
v.type='full'";
 
      $db->query($sql);
 
      if( $db->next_record() ) {
 
              $vid = $db->f('vid');
 
      }
 
}
 
  
 +
== Propuesta Evento Lima 23-25 julio 2007==
  
# Creacion de la variable de estado
+
<b>Invitados especiales</b>
$apc_state = array ('state' => "$os$oe$or$oa$ot$op$ox", // esta
+
Honza Malik (confirmado)
variable almacena el valor antes de dar el click y
+
Norbert Brazda (por confirmar)
                                                      // aparece de
 
forma automatica en el enlace a texto completo
 
                  's' => $os,
 
                  'e' => $oe,
 
                  'r' => $or,
 
                  'a' => $oa,
 
                                      't' => $ot,
 
                  'p' => $op,
 
                  'x' => $ox,
 
                                      'estado' => urlencode("$os$oe$or$oa$ot$op$ox"), //para codificar
 
a formato url
 
                                        # Variables de ayuda usadas en el site module -Tu puedes definir
 
tantas variables como desees
 
                  'anterior' =>      $anterior,
 
                  'vid' => $vid,
 
                                      # Mensaje es para depurar... en el modulo de sitios se
 
                  # puede poner {mensaje} para mostrarlo...
 
                  'mensaje' => $mensaje,
 
                  'parse' => $parse, # informacion de "debug"
 
                  'Institucion' =>    'Mi institucion',
 
                  );
 
  
?>
+
<b>Agenda del taller de ActionApps para desarrolladores </b>
</pre>
 
  
 +
<b>Objetivo general del evento </b>
  
== Como capturar el tamaño y el tipo de un archivo==
+
Construir una comunidad de desarrolladores que comparta, registre y sistematice activamente sus avances con las ActionApps.
  
La solucion esta en construirse funciones personalizadas para ese
+
<b>Objetivo específico </b>
campo. Te comparto dos que me funcionan perfectamente, filesize para
 
el tamaño del archivo y filetype para el tipo de archivo
 
  
------------------------------------------------
+
Crear un equipo de trabajo que coordine las actividades de capacitación y difusión de las ActionApps. 
<pre>
 
<?php
 
  
function usr_filesize ($columns, $col, $param)
+
<b>Requisitos minimos</b>
{
 
  
define('PATH', "/home/colnodo/public_html"); //ruta completa
+
Manejo de HTML
  
$archivo =PATH.$columns[$col][0][value];
+
Conocimientos básicos de CSS
  
if ($archivo{strlen($archivo)-4}==".") { // compruebo si tiene una
+
Conocimientos básicos de Linux
extension tipo windows
 
  
$tamano = filesize($archivo);
+
Conocimientos de php
  
              if ($tamano <= 1048576) {
+
Tener experiencia en desarrollo Web con las ActionApps 
              $tamano_kb = round($tamano /1024,1);
 
              return $tamano_kb." Kb";
 
              }
 
              else // si pasa 1024 se muestra en MB
 
              {
 
              $tamano_mb = round($tamano /1048576,1);
 
              return $tamano_mb." Mb";
 
              }
 
                                              }
 
else                                    {
 
              return "";
 
                                              }
 
  
}
+
Actividades
  
 +
0. Conversatorio sobre fortalezas y debilidades del uso de las APC-AA
  
function usr_filetype ($columns, $col, $param)
+
1. Intercambiar experiencias de desarrollo de sitios web usando ActionApps.
{
 
  
$archivo =$columns[$col][0][value];
+
        1. Elegir casos modelo de:
 +
              1. Comandos vía url en slices y vistas
 +
              2. Módulo de sitio
 +
              3. Módulo de sitio con buscador
 +
              4. Módulo de sitio con calendario de eventos
 +
              5. Módulo de sitio con comentarios
 +
              6. Módulo jump
 +
              7. Módulo de enlaces
 +
              8. Módulo de alertas con suscriptores
 +
              9. Configuración de extensión MLXGet Text de las ActionApps
 +
              10.Configuración de extensión multi-lenguaje de las ActionApps
 +
              11.Configuración de uso de nodos para intercambio de información
  
if ($archivo{strlen($archivo)-4}==".") {
+
        2. Experiencias de instalación
 +
              1. En modo consola
 +
              2. Usando cpanel
 +
              3. En windows usando Xampp
  
$extension =substr($archivo, -3); //extraigo los tres ultimos caracteres
+
2. Intercambiar experiencias de desarrollo de código fuente en las ActionApps
  
return $extension;
+
Talleres sobre:
}
+
              1. Diagrama E-R de la base de datos de las ActionApps
 +
              2. Contenido de los archivos fuente de las AA.
 +
              3. Construcción de módulos
 +
              4. Construcción de funciones personalizadas (widgets) para campos
 +
              5. Construcción de nuevos tipos de campo
 +
              6. Importación y exportación de datos usando scripts de la carpeta apc-aa/misc
 +
              7. Uso del SVN de las ActionApps.
 +
              8. Edición de archivo de control del módulo de sitio
 +
              9. Configuración de varias bases de datos AA con una sola instalación
 +
              10.Configuración de AA Central
  
else {
+
3. Integración de las ActionApps con otros sistemas.
  
return "no hay archivo";
+
  1. Las ActionKit, integración de ActionApps con Drupal.
}
 
}
 
  
?>
+
4. Intercambiar materiales de capacitación: videos, manuales, etc
-----------------------
 
</pre>
 
  
Estas funciones deben ponerse dentro del archivo usr_aliasfnc.php3
+
5. Tema de discusión
(sino esta hay que crearlo dentro de la carpeta INCLUDE de las AA)  Se
 
las puede usar desde la ventana de configuracion del campo o tambien
 
en forma de comandos desde la configuracion de una vista asi:
 
<pre>
 
------------------------------
 
<ul>
 
  
<li>
+
  1. Es posible construir un script de instalación?
<a href='_#PUBLICA1'>
+
  2. Cómo construir mas plantillas para el módulo de sitio.
Documento Parte 1</a>
+
  3. Es posible construir un repositorio de archivos de control
{alias:file...........1:f_u:usr_filesize} |
 
{alias:file...........1:f_u:usr_filetype}</li>
 
  
<li>
 
<a href='_#PUBLICA2'>
 
Documento Parte 2</a>
 
{alias:file...........2:f_u:usr_filesize} |
 
{alias:file...........2:f_u:usr_filetype}</li>
 
  
<li>
+
Nota. Opino que cada asistente debe traer algo que compartir con la comunidad. Todos aportamos, todos nos beneficiamos.
<a href='_#PUBLICA3'>
 
Documento Parte 3</a>
 
{alias:file...........3:f_u:usr_filesize} |
 
{alias:file...........3:f_u:usr_filetype}</li>
 
  
<li>
+
== Asistentes (presentes) ==
<a href='_#PUBLICA4'>
 
Documento Parte 4</a>
 
{alias:file...........4:f_u:usr_filesize} |
 
{alias:file...........4:f_u:usr_filetype}</li>
 
  
</ul>
+
* Jaime Torres (CEPES) -
 +
* Abel del Carpio (CEPES) -
 +
* Maicu Alvarado (CEPES) -
 +
* Luis Huacho (Independiente) -
 +
* Cecilia Fernández (ISF) -
 +
* Julio Santillán (IBC) -
 +
* Ruth Hidalgo (CONDESAN-InfoAndina) : administracion de los web
 +
* Musuq Briceño (CONDESAN-InfoAndina) : oficial de informacion, usamos las AA un anio
 +
* Adam Sánchez (CONDESAN-Infoandina) : 3 anios de uso del sistema, consultor de Infoandina
 +
* Julian Casasbuenas (COLNODO) -
  
---------------------------
+
* Miguel Yupanqui (MINAG)
</pre>
+
* Daniel Huayhuapuma (MINAG)
 +
* Roberto Lee (INICTEL-UNI)
 +
* Paola Bazan (Asociación Callpas)
 +
* Jorge Figueroa (COLNODO)
  
Saludos
+
== Equipos de Trabajo ==
  
Adam
+
== Otros ==

Revisión del 01:37 28 jun 2007

Reunión de coordinación:

Miércoles 27 de junio, a las 6.00pm en el local de CEPES (Av. Salaverry 818, Jesus Maria)

Esperamos la participación de todos.

Skype: peruviansoul

Agenda Reunión 27/06/2007

Les comparto una propuesta para nuestra reunion del 27 en Lima, les agradeceria que hagamos un esfuerzo por cruzar informacion.

  1. Bienvenida (Maicu Alvarado)
  2. Presentación de cada asistente
  3. Presentación de los objetivos de la reunión
  4. Definir la orientacion de los talleres de AA de julio. Sugiero dirigido en un 75% a desarrolladores pero tambien seria pertinente abrir un espacio para "nuevos valores". 
  5. Definir estructura y metodologia de talleres. Favor de pronunciarse los que estuvieron en las AACamp del 2004. 
  6. Definir capacitadores de los talleres. Se aceptan propuestas de experiencias. 
  7. Planificar la logistica: financiamientos, local, equipos, materiales, acogida, invitaciones, etc 

Creo que seria importante:

  1. Empadronar y registrar aquellas instituciones que usan las APC-AA
  2. Hacer un conversatorio abierto para determinar el impacto y la utilidad del uso

Propuesta Evento Lima 23-25 julio 2007

Invitados especiales Honza Malik (confirmado) Norbert Brazda (por confirmar)

Agenda del taller de ActionApps para desarrolladores

Objetivo general del evento

Construir una comunidad de desarrolladores que comparta, registre y sistematice activamente sus avances con las ActionApps.

Objetivo específico

Crear un equipo de trabajo que coordine las actividades de capacitación y difusión de las ActionApps.

Requisitos minimos

Manejo de HTML

Conocimientos básicos de CSS

Conocimientos básicos de Linux

Conocimientos de php

Tener experiencia en desarrollo Web con las ActionApps

Actividades

0. Conversatorio sobre fortalezas y debilidades del uso de las APC-AA

1. Intercambiar experiencias de desarrollo de sitios web usando ActionApps.

        1. Elegir casos modelo de:
              1. Comandos vía url en slices y vistas
              2. Módulo de sitio
              3. Módulo de sitio con buscador
              4. Módulo de sitio con calendario de eventos
              5. Módulo de sitio con comentarios
              6. Módulo jump
              7. Módulo de enlaces
              8. Módulo de alertas con suscriptores
              9. Configuración de extensión MLXGet Text de las ActionApps
              10.Configuración de extensión multi-lenguaje de las ActionApps
              11.Configuración de uso de nodos para intercambio de información
        2. Experiencias de instalación
              1. En modo consola
              2. Usando cpanel
              3. En windows usando Xampp

2. Intercambiar experiencias de desarrollo de código fuente en las ActionApps

Talleres sobre:

              1. Diagrama E-R de la base de datos de las ActionApps
              2. Contenido de los archivos fuente de las AA.
              3. Construcción de módulos
              4. Construcción de funciones personalizadas (widgets) para campos
              5. Construcción de nuevos tipos de campo
              6. Importación y exportación de datos usando scripts de la carpeta apc-aa/misc
              7. Uso del SVN de las ActionApps.
              8. Edición de archivo de control del módulo de sitio
              9. Configuración de varias bases de datos AA con una sola instalación
              10.Configuración de AA Central

3. Integración de las ActionApps con otros sistemas.

  1. Las ActionKit, integración de ActionApps con Drupal.

4. Intercambiar materiales de capacitación: videos, manuales, etc

5. Tema de discusión

  1. Es posible construir un script de instalación?
  2. Cómo construir mas plantillas para el módulo de sitio.
  3. Es posible construir un repositorio de archivos de control


Nota. Opino que cada asistente debe traer algo que compartir con la comunidad. Todos aportamos, todos nos beneficiamos.

Asistentes (presentes)

  • Jaime Torres (CEPES) -
  • Abel del Carpio (CEPES) -
  • Maicu Alvarado (CEPES) -
  • Luis Huacho (Independiente) -
  • Cecilia Fernández (ISF) -
  • Julio Santillán (IBC) -
  • Ruth Hidalgo (CONDESAN-InfoAndina) : administracion de los web
  • Musuq Briceño (CONDESAN-InfoAndina) : oficial de informacion, usamos las AA un anio
  • Adam Sánchez (CONDESAN-Infoandina) : 3 anios de uso del sistema, consultor de Infoandina
  • Julian Casasbuenas (COLNODO) -
  • Miguel Yupanqui (MINAG)
  • Daniel Huayhuapuma (MINAG)
  • Roberto Lee (INICTEL-UNI)
  • Paola Bazan (Asociación Callpas)
  • Jorge Figueroa (COLNODO)

Equipos de Trabajo

Otros