Alfresco Master Class Implementation Best Practices SPANISH

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    Alfresco Master Class Implementation Best Practices SPANISH - Presentation Transcript

    1. Toni  de  la  Fuente   1  
    2.   ¡Twi0ea  durante  la  sesión!   •  Tu  recomendación  favorita   •  La  recomendación  que  implementarás  en   tu  proyecto   •  Recomendaciones  que  hemos  olvidado     Usa  la  eAqueta  #alfrescobestprac-ces       ¡Anímate!  Se  darán  premios  al  final  de   la  sesión.   #alfrescobestprac-ces   2  
    3.   Introducción   •  IdenAfica  cada  caso  de  uso   •  Matriz  de  caracterísAcas  de  Alfresco     Buenas  prácAcas   •  Arquitectura   •  Desarrollo   •  Mantenimiento     Preguntas   #alfrescobestprac-ces   3  
    4.   Esta  charla  contempla  algunas   recomendaciones,  pero...   •  Os  animamos  a  ampliar  lo  que  tratamos  aquí  y   comparArlo  con  los  demás.     Se  abordarán  algunos  de  los  contenidos  que   teníamos  preparados,  pero…   •  En  breve  publicaremos  una  versión  ampliada   Credit:  finishing-­‐school   con  todos  los  contenidos.     Básicamente  veremos:   •  Qué  formas  hay  de  usar  Alfresco   •  CaracterísAcas  más  relevantes  de  Alfresco   •  Cómo  implementar  esas  buenas  prácAcas   #alfrescobestprac-ces   4  
    5.   Antes  de  comenzar,  vamos  a  responder  a  la   pregunta:   ¿Qué  es  “ges-ón  de  contenidos”?   #alfrescobestprac-ces   5  
    6. Respuesta:  ¡Casi  nada!   #alfrescobestprac-ces   6  
    7.   No  hay  una  definición     genérica  de  gesAón   de  contenidos.   h0p://www.projectcartoon.com   •  Y  no  hay  un  único   producto  para  cada   caso.     Hay  que  idenAficar  el  Apo  de  uso  y  en  base  a   esas  necesidades,  diseñar  la  mejor  solución.   #alfrescobestprac-ces   7  
    8.   GesAón  documental:     GesAón  de  contenidos   •  “Vanilla”  DM   Web:   •  Colaboración   •  Web  corporaAva   •  GesAón  de  registros   •  Intranet  /  Extranet   •  Scanning  /  Imaging  /   •  eCommerce  Site   OCR   •  Micro-­‐sites   •  GesAón  de  contenidos   •  UGC  /  Community  Sites   mulAmedia.   (User  Generated  Content)   #alfrescobestprac-ces   8  
    9.   Alfresco  ofrece  un  conjunto  de  caracterísAcas,   aunque  no  todas  son  relevantes,  dependen   del  caso  de  uso.     #alfrescobestprac-ces   9  
    10. WCM   DM  Repository   AuthenAcaAon   AuthorisaAon   Script  Engine   Repository   Workflow   Rules  /  AcAons   TransformaAon   Deployment   Web  Scripts   Virtual  File   High   Content   Records   XML  Modeling   Servers   Availability   Modeling   Management   SOAP   JCR   CMIS   Search  /  Query   Share  UI   Sharepoint   Surf   Explorer  UI   SMTP  /  IMAP   Office  Plugin   Protocol   *  Nota:  Este  diagrama  no  es  exhausAvo.   #alfrescobestprac-ces   10  
    11. WCM   DM  Repository   AuthenAcaAon   AuthorisaAon   Script  Engine   Repository   Workflow   Rules  /  AcAons   TransformaAon   Deployment   Web  Scripts   Virtual  File   High   Content   Records   XML  Modeling   Servers   Availability   Modeling   Management   SOAP   JCR   CMIS   Search  /  Query   Share  UI   Sharepoint   Surf   Explorer  UI   SMTP  /  IMAP   Office  Plugin   Protocol   #alfrescobestprac-ces   11  
    12. WCM   DM  Repository   AuthenAcaAon   AuthorisaAon   Script  Engine   Repository   Workflow   Rules  /  AcAons   TransformaAon   Deployment   Web  Scripts   Virtual  File   High   Content   Records   XML  Modeling   Servers   Availability   Modeling   Management   SOAP   JCR   CMIS   Search  /  Query   Share  UI   Sharepoint   Surf   Explorer  UI   SMTP  /  IMAP   Office  Plugin   Protocol   #alfrescobestprac-ces   12  
    13. WCM   DM  Repository   AuthenAcaAon   AuthorisaAon   Script  Engine   Repository   Workflow   Rules  /  AcAons   TransformaAon   Deployment   Web  Scripts   Virtual  File   High   Content   Records   XML  Modeling   Servers   Availability   Modeling   Management   SOAP   JCR   CMIS   Search  /  Query   Share  UI   Sharepoint   Surf   Explorer  UI   SMTP  /  IMAP   Office  Plugin   Protocol   #alfrescobestprac-ces   13  
    14. WCM   DM  Repository   AuthenAcaAon   AuthorisaAon   Script  Engine   Repository   Workflow   Rules  /  AcAons   TransformaAon   Deployment   Web  Scripts   Virtual  File   High   Content   Records   XML  Modeling   Servers   Availability   Modeling   Management   SOAP   JCR   CMIS   Search  /  Query   Share  UI   Sharepoint   Surf   Explorer  UI   SMTP  /  IMAP   Office  Plugin   Protocol   #alfrescobestprac-ces   14  
    15.   ¿Has  idenAficado  tu  caso  de  uso?     ¿Se  aproxima  a  algún  caso  visto  con  Alfresco?     ¿Qué  caracterísAcas  de  Alfresco  puedes  usar?     ¿Qué  partes  no  puedes  hacer  con  Alfresco?   •  ¿Cuánto  Aenes  que  personalizar  Alfresco?   •  ¿Qué  componentes  de  terceros  deberías  añadir?     En  muchas  ocasiones  Alfresco  es   un  componente  más   •  ¿Cómo  debería  ser  la  solución   integrada?   •  ¿Merece  la  pena  la  complejidad   añadida?   Credit:  Craig  Rodway   #alfrescobestprac-ces   15  
    16. Credit:  Phil  Romans   #alfrescobestprac-ces   16  
    17.   Implementa  tu  solución  respetando  la  matriz   de  compaAbilidad     h0p://www.alfresco.com/services/support/ stacks/  es  tu  mejor  amigo!!   Credit:  bazril   #alfrescobestprac-ces   17  
    18.   LDAP   •  Instala  un  LDAP  browser   •  Sync:  cuidado  con  los  directorios  grandes   •  Primero  asegúrate  que  tu  LDAP  funciona,   luego  configura  la  autenAcación  con  Alfresco   •  Recuerda  que  puedes  usar  varios  sistemas  de   autenAcación  encadenados   Credit:  just.luc     AcAveDirectory   •  Usa  el  soporte  NTLM  naAvo  de  Alfresco.   NTLM  en  lugar  de  integración  LDAP  xpica.     No  olvides  echar  un  vistazo  a  la  matriz  de   autenAcación  en  la  wiki:   •  h0p://wiki.alfresco.com/wiki/ Alfresco_AuthenAcaAon_Subsystems   #alfrescobestprac-ces   18  
    19.   ¿Necesitas  un  cluster?  La  Alta  Disponibilidad  Aene  un   precio:     Duplica  (como  mínimo)  la  suscripción  de  mantenimiento     Incremento  del  coste  de  hardware     Infraestructura  más  compleja     Otras  consideraciones     ¿Cual  es  el  SLA  mínimo  exigido?     ¿Tiene  senAdo  añadir  más  máquinas  o  más  CPU?     ¿Has  pensado  en  cachear?     Un  cluster  no  Aene  por  que  ser  una  solución  efecAva   de  recuperación  de  desastres   #alfrescobestprac-ces   19  
    20.   La  Base  de  Datos  y  el  almacenamiento   deben  estar  “cerca”  de  Alfresco  (misma   subred)     Discos  con  capacidad  de  escritura   específica  cuando  hay  corte  de   alimentación  (buffer)   Credit:  daddo83     Si  piensas  usar  Alfresco  en  cluster,  piensa  en  almacenamiento   comparAdo:   •  Los  repositorios  replicados  son  complejos  de  mantener  y  di{cil  de   jusAficar     Considera  usar  una  SAN  para  el  repositorio:   •  Simplifica  su  gesAón  (pe.  backup,  crecimiento  bajo  demanda)   •  Mejoras  en  rendimiento  por  fibre  channel,  Aered  storage,  cachés     Usar  un  sistema  de  almacenamiento  redundante  (pe.  RAID)   #alfrescobestprac-ces   20  
    21.   El  Lucene  de  Alfresco  es  “de  Alfresco”.  No  lo  uses   para  indexar  contenido  que  no  es  de  Alfresco.   •  En  su  lugar  puedes  usar:  Lucene/Solr,  GSA,  Endeca,  etc.     Los  índices  deben  estar  en  discos  locales  rápidos  y   no  comparAdos.   •  Considera  la  posibilidad  de  poner  los  índices  en  un  disco   dedicado.     Configuración   •  Evita  usar  “stored=true”     •  h0p://wiki.alfresco.com/wiki/Full-­‐Text_Search_ConfiguraAon   •  Evita  las  reindexaciones  completas  (full  re-­‐indexes)   •  ¿Funcionan  los  backup  de  los  índices?   #alfrescobestprac-ces   21  
    22.   CIFS  es  mejor  en  una  LAN,  en  WAN  puede  ser   problemáAco/lento.     Por  defecto  usando  FTP  y  WebDAV  las   contraseñas  viajan  en  claro.     El  Virtual  File  Server  no  es  la  mejor  vía  para   realizar  cargas  masivas  de  contenidos   •  Hay  varias  opciones  que  permiten  una  importación   masiva  para  cada  caso:   •  pe.  TSG  OpenMigrate,  Bulk  Filesystem  Import  Tool  (h0p:// code.google.com/p/alfresco-­‐bulk-­‐filesystem-­‐import/)   #alfrescobestprac-ces   22  
    23.   Alfresco  incorpora  WCM  de  forma  independiente.     Dos  Apos  de  despliegues  vía  agentes:   •  File  System  Receiver   •  Alfresco  Server  Receiver     Evitar  entornos  con  poco  ancho  de  banda  /  redes  de   alta  latencia     Usar  auto  deploy   •  Una  vez  llegan  los  contenidos  al  Staging,  pueden  ser   desplegados   •  A  parAr  de  la  versión  3     Configura/planifica  tus  ASR  y  FSR  al  principio   #alfrescobestprac-ces   23  
    24. #alfrescobestprac-ces   #alfrescobestprac-ces   25  
    25. Credit:  xkcd.com   #alfrescobestprac-ces   26  
    26.   No  tocar  el  core,  usar  el   mecanismo  de  extensiones   •  Si  Aenes  que  modificar  el  core   por  un  fallo,  abre  un  Acket  (Jira).     Usar  dos  directorios  extension   •  Uno  para  las  extensiones  propias   Credit:  Sea  Turtle   del  servidor  (LDAP,  file  server   properAes)  -­‐  shared   •  Uno  para  las  extensiones  propias   del  cliente  (Content  model,   workflows,  web  client  config,   context  files)  –  webapp  -­‐>  AMP   #alfrescobestprac-ces   27  
    27.   No  cambies  el  modelo  por  defecto     Considera  crear  un  Apo  raíz  (contenido)     Se  conservador,  añade  sólo  lo  que  necesites     Prepárate  para  inicializar  el  repositorio,  varias   veces     Piensa  en  las  ventajas  de  crear  aspectos     Ten  en  cuenta  los  Apos  “folder”  y  úsalos     Tipos/aspectos  sin  propiedades  están  permiAdos   y  pueden  ser  úAles   #alfrescobestprac-ces   28  
    28.   Usa  tus  propios  namespaces  y  múlAples  archivos   para  los  modelos   •  Usa  un  namespace/modelo  específico  también  para   los  workflows.   •  No  uses  “myModel”  o  “customModel”     Implementa  una  clase  Java  que  contenga   constantes  para  representar  tus  Apos,  aspectos,   propiedades  y  asociaciones.     Objetos  sin  contenido  son  válidos   •  Pero  pueden  hacer  que  a  Alf.  Explorer  no  “le  gusten”   #alfrescobestprac-ces   29  
    29.   Ten  en  cuenta  la  herencia,  usa  ACL  para  mantener   más  fácilmente  teniendo  un  diseño  de  carpetas   bien  planificado.     En  ocasiones  organizar  las  carpetas  en  base  a  la   estructura  de  la  empresa  puede  tener  senAdo   (divisiones  /  departamentos  /  unidades  de   negocio  /  grupos  de  trabajo)     Ten  en  cuenta  el  espacio  público  comparAdo  para     contenido  de  sólo  lectura.     Espacios  inteligentes  (Drop  zones  /  hot  boxes),   con  reglas,  etc.   #alfrescobestprac-ces   31  
    30.   No  personalices  demasiado  el   Explorer     Mejor  usar  Dashlets  con  Web   Script  y  vistas  personalizadas  en   lugar  de  crear  más  código  JSF     Si  los  requisitos  se  alejan  de  lo  que   Credit:  gobucks2   hace  el  Explorer  posiblemente  no   necesites  usarlo  como  punto  de   parAda     •  Si  lo  necesitas  limítate  a  Acciones,   Diálogos  y  Asistentes.   #alfrescobestprac-ces   34  
    31.   Rendimiento   •  Reducir  número  de  campos   •  Usar  campos  normales  (pe.  text   area  vs  WYSIWYG)     •  Minimiza  los  includes  (Web  Forms)   •  Minimiza  estructuras  anidadas   (Web  Forms)     Presentación   •  Poner  campos  obligatorios  primero   #alfrescobestprac-ces   35  
    32.   Asigna  usuarios  a  grupos  y   grupos  a  roles     Crea  tus  propios  roles  si   no  te  sirven  los  que  hay   por  defecto     Recuerda  que  sólo  los   Credit:  Roo  Reynolds   admins  pueden  editar  los   grupos.  No  hagas  ninguna   aplicación  para  gesAonar   grupos.   #alfrescobestprac-ces   36  
    33.   Recuerda  que  los  permisos  en  Web  Projects  no  están   soportados  (si  roles),  por  debajo  del  nivel  del  Web   Project.     AlternaAvas   •  Usa  una  tarea  de  workflow  para  validar  acciones   •  Use  Web  Projects  independientes   •  Un  interfaz  personalizado  puede  tener  sus  propios   permisos   •  Cuidado  con  usar  aspectos  como  permisos.  Los  aspectos  son   versionables.   #alfrescobestprac-ces   37  
    34.   JBPM  es  extensible  y  muy  úAl!  Pero…     Usa  jBPM  GPD  para  su  desarrollo     Usa  un  directorio  para  cada  proceso,  y  llámalo   process-­‐definiAon.xml     JavaScript  para  pequeñas  tareas,  Java  para  tareas   más  importantes.   #alfrescobestprac-ces   38  
    35.   El  uso  de  los  patrones  de  servicios  de  Alfresco  implica   •  Publicar  los  servicios  como  objetos  JS  en  el  nivel  raíz  de  Alfresco   •  Implementar  test  unitarios  para  cada  servicio     Usar  las  funcionalidades  y  acciones  de  Alfresco  sin   restricciones     Buscar  los  fuentes  de  los  test  JUnit  para  usarlos  como   ejemplos  del  uso  de  la  API   •  PlanAllas  de  presentación  por  defecto,  JavaScript  y  Workflows   son  también  buenos  ejemplos     Ejecutar  el  código  de  Alfresco  paso  a  paso  mediante  alguna   herramienta  de  depuración   #alfrescobestprac-ces   39  
    36.   Tipos   •  JavaScript  +  Free  Marker   •  Java  +  JavaScript  +  Free  Marker   •  Java     h0p://www.flickr.com/photos/90982314@N00/3993237117/   h0p://www.flickr.com/photos/grrphoto/246147199/   #alfrescobestprac-ces   40  
    37.   Java  Script  +  Free  Marker   •  Evita  cálculos  innecesarios   •  AcAva  el  modo  debug  de  JS   en  el  desarrollo  (log4j)     Sintaxis:   •  h0p://freemarker.org   h0p://www.flickr.com/photos/90982314@N00/1570533869/   •  h0p://www.jsonlint.com   #alfrescobestprac-ces   41  
    38.   Java  +  Java  Script  +  Free   Marker   •  Controlador  JS  que  usa   servicios  Java   •  Una  forma  de  reuAlizar   código   •  Orientados  a  generar   contenido  al  usuario  final   h0p://www.flickr.com/photos/mgstyer/3066871625/in/set-­‐72157604348064829/   •  Mejor  rendimiento   #alfrescobestprac-ces   42  
    39.   Java   •  REST  -­‐>  JAVA   •  Ideal  para  servicios  de  datos     •  APIs  de  Alfresco  completas   •  Mejores  herramientas  de   depuración   h0p://www.flickr.com/photos/mdpe•0/2667860515/   •  Mejor  rendimiento   •  Desarrollo  más  lento   •  Llama  a  tus  clases  usando  el   método  HTTP  y  el  ID  del  script   (pe,  GetRaAng,  PostRaAng)     #alfrescobestprac-ces   43  
    40.   Haz  que  tus  descriptores  sean  úAles     •  Especifica  bien  al  descripción   •  Declara  todos  los  argumentos   •  Declara  un  formato  por  defecto     Usa  siempre  un  controlador     No  mezcles  controladores  Java  y  JavaScript  para  el  mismo   Web  Script       Usa  estructuras  Apo  paquete  para  organizar  los  Web  Scripts.     #alfrescobestprac-ces   44  
    41.   Usa  el  “Run  As”   •  Más  seguro  que  ejecutarlo  como  admin   •  ÚAl  cuando  una  aplicación  cliente  Aene  que   realizar  alguna  tarea  administraAva     Dale  a  tus  Web  Scripts  un  namespace   único  (url)     Establece  los  descriptores  URL  y  JSON   como  un  equipo,  divide  y  vencerás   h0p://www.flickr.com/photos/46758972@N00/2986699608/   •  Un  equipo  para  la  capa  de  repositorio  y  otro  para  la  capa   de  presentación.     #alfrescobestprac-ces   45  
    42.   Usa  Java  para  operaciones   complejas,  no  JS     Con  E4X  es  fácil  pero  más  lento     Cachea  cuando  puedas,  te  ayudará   •  Object  caches   •  OS  Cache   •  EH  Cache   •  HTTP  accelerator   •  Varnish   h0p://www.flickr.com/photos/31758798@N04/3557344075/   #alfrescobestprac-ces   46  
    43.   Usa  curl  para  probarlos,   especialmente  PUTs,   DELETEs  y  POSTs.     Usa  plugins  de  Firefox   •  Tamper  Data   h0p://www.flickr.com/photos/oskay/2672864543/in/set-­‐72157606197307681/   •  Firebug     Pruebas  Unitarias   •  Extensiones  Alfresco  JUnit   •  Selenium     #alfrescobestprac-ces   47  
    44.   Agrupa  los  Spring  beans  en  múlAples  ficheros   context.     No  llames  los  Spring  beans  “extension.*”     Usa  siempre  los  beans  “públicos”  en   mayúsculas  (NodeService  vs.  nodeService)   Credit:  96dpi   #alfrescobestprac-ces   48  
    45.   Necesitas  al  menos  dos  entornos  (Prod  y  Test)     Siempre  es  mejor  hacer  AMPs  para  una  mejora  o   un  plugin,  y  luego  se  añade  al  WAR  (mmt)     Considera  usar  el  plug-­‐in  de  Maven  (ver  Forge  de   Alfresco)     Despliega  modelos,  web  scripts  y  workflows  en  el   sistema  de  archivos  (dentro  de  la  aplicación)   •  Desplegar  en  caliente  es  posible  pero  úsalo  con   precaución   #alfrescobestprac-ces   49  
    46.   Piensa  si  usar  SURF  Aene  senAdo   •  Ideal  para  hacer  clientes  de  Alfresco   •  Sigue  madurando     Web  Studio   Credit:  Michael  Dawes   •  Herramienta  para  crear  siAos  basados  en  Surf   •  No  está  incorporada  en  la  versión  Enterprise,  usar  con  precaución.     Alfresco  Share  ApplicaAon   •  Será  más  fácil  de  configurar  con  la  incorporación  del  “form  service”   •  Usa  herramientas  que  no  incorpora  Surf  (YUI  Library)   •  Necesitarás  escribir  tus  propios  componentes  y  modificar  ficheros  de   Alfresco  y  workflows   #alfrescobestprac-ces   50  
    47. #alfrescobestprac-ces   #alfrescobestprac-ces   51  
    48. Credit:  wili  hybrid   #alfrescobestprac-ces   52  
    49.   Copia  de  seguridad   1.  Base  de  datos   2.  Contentstore  (Repositorio)   3.  Índices     Restauración   •  Has  hecho  copia  de  seguridad  de  los  índices,  ¿no?   •  index.recovery.model=AUTO     Hay  proyectos  libres  que  permiten  restauración  a   nivel  de  objetos  vs.  repositorio   #alfrescobestprac-ces   53  
    50.   Tuning  a  diferentes  niveles:   •  Hardware  del  servidor   •  Sistema  de  Archivos   •  Red   •  Base  de  datos   •  JVM   Credit:  khai  nomore   •  Mejor  64  bit  Sun  JVM  1.6   •  Heap,  perm  gen   •  Monitoring/profiling  tools  may  help   •  Servidor  de  Aplicaciones   •  Alfresco     See  h<p://wiki.alfresco.com/wiki/Repository_Hardware   #alfrescobestprac-ces   54  
    51.   Cold  standby     Warm  standby   •  Réplica   •  BBDD   •  Sistema  de  Ficheros     Hot  standby   •  Cluster  AcAvo/AcAvo   Credit:  CushingLibrary   •  JGroups  (3.1)     Considera  off-­‐site  vs  on-­‐site  /  near-­‐site  backups     •  Clustering  es  sólo  apropiado  para  on-­‐site   #alfrescobestprac-ces   55  
    52.   Fácil  en  general  pero:   1.  Compara  los  archivos  de   configuración  personalizados  con   archivos  actualizados  y  haz  los   cambios  de  forma  manual   2.  Recompila  las  personalizaciones  con   la  nueva  SDK   3.  Vuelca  toda  la  configuración  y   personalizaciones  en  un  servidor  de   Credit:  xrrr   desarrollo   4.  Prueba,  prueba,  prueba     Sigue  los  saltos  entre  versiones  soportados:   •  h0p://wiki.alfresco.com/wiki/General_Upgrade_Process#Upgrade_Paths   #alfrescobestprac-ces   56  
    53.   Ojo  con  la  matriz  de   compaAbilidad  y  las  versiones   •  Actualiza  por  componentes  y   prueba.    pe:   1.  Actualiza  Alfresco  2.2  -­‐>  3.1   2.  Prueba   3.  Actualiza  JVM  1.5  -­‐>  1.6   Credit:  balakov   4.  Prueba   5.  Actualiza  MySQL  5.0  -­‐>  5.1   6.  Prueba   •  Asegúrate  que  cada  paso  está  soportado  en  la  matriz  de   compaAbilidad   #alfrescobestprac-ces   57  
    54. #alfrescobestprac-ces   #alfrescobestprac-ces   58  
    55. #alfrescobestprac-ces   59  
    56. #alfrescobestprac-ces   60  
    SlideShare Zeitgeist 2009

    + Toni de la FuenteToni de la Fuente Nominate

    custom

    406 views, 1 favs, 3 embeds more stats

    Master Class impartida por Toni de la Fuente en el more

    More info about this document

    CC Attribution-NonCommercial LicenseCC Attribution-NonCommercial License

    Go to text version

    • Total Views 406
      • 297 on SlideShare
      • 109 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 0
    Most viewed embeds
    • 103 views on http://blyx.com
    • 3 views on http://www.google.es
    • 3 views on http://www.stgi.cl

    more

    All embeds
    • 103 views on http://blyx.com
    • 3 views on http://www.google.es
    • 3 views on http://www.stgi.cl

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories