Agrega tu contenido a @yiienespanol !

Tan sencillo como twittear algo, desde tu movil o escritorio

@yiienespanol

Comunidad de Desarrolladores en Yii Framework www.yiiframeworkenespanol.com




  • Jose Luis Ir a la Publicación
    Hola, buen día, para quienes usaron CRUGE y tuvieron el requerimiento que no se desconectara la sesión, sino que sólo si había inactividad por parte del usuario, cómo lo solucionaron?
    • Arley Romero
      En algún momento me enfrente a este caso, la solución fue reiniciar el tiempo de sesión cada vez que el usuario realizará alguna acción en la página, para esto modifique la función beforeaction del CController. 
      Nota: Con esta modificación el generador Gii deja de funcionar;  Christian Salazar  en algun momento explicaba los pros y los contras de modificar esta funcionalidad.
    • Jose Luis
      Podrías pasarme el código para que vea? aprovechando, te ha pasado que la sesión aún tiene tiempo de vida, pero por alguna razón (que aún ando revisando) se desconecta y queda activo el usuario invitado? Hay personas que se loggean, y unos 10min después sucede la desconexión, no es que sea asi en todo momento, sino que pasa, otras veces, después de unas horas, he notado que no dan loggout, sino que cierran la pestaña y la sesión queda activa, entonces cuando se loggean de nuevo, se "reabre" la que tenían, pero no se si por ahi esté dando lata algo.
    • Arley Romero
      Ya te colaboro con el código, lo de la sesión si me ha pasado pero me canse de buscar la causa y me decante por errores en conectividad.
    • Jose Luis
      mmmmm y cómo lo solicionaste o qué hiciste, es decir, tampoco puedo decirle al usuario que es por su red y que se va a estar desconectando :P  jajajajaj
    • Arley Romero
      public function beforeAction($action) {
              //Yii::log(__METHOD__ . ' isGuest: ' . (Yii::app()->getUser()->isGuest ? 'Si' : 'No'));
              // Cada vez que se ejecuta una acción se actualiza el tiempo de expiración
              // TODO: integrar con cruge o mejorar
              $sys = Yii::app()->user->um->getDefaultSystem();
              $duration = $sys->getn('sessionmaxdurationmins');
              // Encuentra la última sesión y actualiza la fecha de expiración
              $model = CrugeSession::model()->findLast(Yii::app()->user->id);
              if ($model != null) {
                  $model->expire = CrugeUtil::makeExpirationDateTime($duration);
                  $model->save();
              }
              return true;
          }
    • Arley Romero
      en el archivo...framework/web/ccontroller.php
    • Arley Romero
      pruebalo y me cuentas
    • Jose Luis
      Gracias Arley Romero, lo implemento y te digo. Gracias
    • Ariel Richard Condori Rodriguez
      Un plan b, alguna vez lo hice de esta forma, agregar este codigo a views/layouts/main.php   
      
      
    • Christian Salazar
      no es cruge...es de Yii.

  • Carlos Belisario Ir a la Publicación
    [SUPER OFF-POPIC]
    Alguno ha pensado un poco en que va a pasar cuando se haga el release de Yii 2.0 con los proyectos recién empezados en Yii 1.X? al igual que le paso a la gente con symfony y zend framework nos toca pasar de trabajar de una manera a otra totalmente distinta ya que las versiones son totalmente incompatibles. Toca hacer refactory? mandar a la mierda Yii2 y matar y mantener el proyecto con Yii1.X?  que hacer si tenemos que empezar un proyecto en estos momentos donde están diciendo que lanzarán otra versión (que todavía esta en beta y no se puede usar para producción y esto tiene que quedar muy claro es un beta) y que la versión 1 no esta muerta pero en algún momento no muy lejano lo estará o simplemente no será la estable de nuestro querido framework.
    
    Es algo que me da vuelta, empezar una app con Yii usar otro framework que hacer, no me malentiendan me gusta usar YiiFramework y me alegra que se estén actualizando a las "nuevas features" que está brindando el php (ojo no son conceptos nuevos son cosas que tienen mucho tiempo ya usandose en otros lenguajes pero recientemente aplicadas al php). Pero donde esta el plan de migración de versiones?  Si ando dando vuelta por una nueva app que me va a tocar hacer y me encuentro en el que hacer y por supuesto tenía que berrinchear un poco, saludos
    • Miguel Ángel Lucas Sánchez
      Me temo que es inevitable la confrontación de situaciones. Personas que tengan una api a màs del 90%  no veran con buenos ojos volver al inicio y cambiar toda la base de todo. Supongo también que aunque sea una versión estable habrá que esperar algo más, pero claro, tarde o temprano habrá que dar el salto, es inevitable. Está bien recordarlo para ir terminando cosas y prepararse para lo nuevo...
    • Arley Romero
      Me encuentro en este dilema justamentem, no se, si iniciar un nuevo proyecto con Yii2 o Yii1.1.15 que recomiendan los expertos; es mas alguno sabe la fecha en la cual se lance la version estable del Yii2?
    • Christian Salazar
      es inevitable. analizando la modalidad de trabajo del 90% de los devs de php, y gracias a la maña tan arraigada de hacer las cosas como les venga del forro..pues entonces no queda otra:  si quieren Yii2, a aprender de nuevo y les tocará hacer sus codigos de nuevo. son dos mundos. yii1 y yii2.
    • Esteban Adrián P
      Hace años, muchos, unos 20, estudiaba Ingeniería en Sistemas...
      Un profesor (Programación I, Pascal) asaba para programar "chwritte"...
      Por entonces ya hacía mis pininos con Clipper Summer '87 y se "amenazaba" la salida del 5 (y en meses del 5.3)...
      Dijo algo, por entonces que no comprendí hasta este momento:
      "Uso chwritte xq lo entiendo, a pesar que hay otros editores mucho mejores y potentes... Pero a mi chwritte me alcanza..."
      No hace mucho George R. R. Martin (Game of Thrones) confesó en una entrevista que la computadora donde "pare" sus escritos tiene DOS y usa WordStar O.o
      Entonces, pregunto: ¿Es importante la herramienta o el obrero?
      Si sabés utilizar Yii 1.x, y te alcanza.. ¿Para qué cambiar?...
      Esa carrera absurda de ver qué estrella decora tu escalafón porque usás tal o cual herramienta, me parece estúpida (RAE, consultar)...
      No estoy de acuerdo con eso de usar una versión más nueva xq ¿es nueva? Si la que tengo me alcanza, y listo... :D
    • Christian Salazar
      porque es importante cambiar. por haber cambiado estas usando .GIT, por haber cambiado pasaste de hacer aplicaciones de consola con NCURSES a aplicaciones Deskto y de ahi a aplicaciones Web...hay que cambiar.  namespaces es la via correcta para sacar a ese viejo php de ese estado antiguo aunque funcional, tan funcional como Wordstar.
    • Christian Salazar
      lo que digo es: "no cambiar con miedo".  cambiarse es cambiarse, si eso implicar hacer cosas de cero, a hacerlas. Ahora, si una aplicacion web puede hacerse con Yii1x, pues haganla, pero, mejor será hacerla con Yii2, por que el tiempo pasa rapido...y si un dia (5 años despues) te dicen sabes ? esta cosa X es muy buena..necesita que sepas "A", para saber "A" necesitas saber "B", y esta implica "C"...y tu ni siquiera llegas a "M"...te faltan 10 letras..es decir...5 años para entender C, B y A....estas muerto.
    • Christian Salazar
      ahora, que hace uno para evitar el "cero y empezar de cero"....hacer desde ya aplicaciones capaces de ser reutilizables, desarmando la funcionalidad en piezas que funcionen solas, cada pieza por cuenta, migrar las piezas es migrar la aplicacion.

  • Alejo Peña Ir a la Publicación
    Hola.
    Yo hice una copia exacta de un proyecto en yii desde un pc a otro..
    Cuando pruebo mi app en el otro pc me sale el siguiente error..
    Cual podria ser la causa?
    (Obviamente hice todas las configuraciones necesarias)
    • Carlos Belisario
      pues la línea que indicas no tiene nada llamado idemp seguro que es el archivo que te esta dando problemas? lo más seguro es que en tu otra pc tengas los warning ocultos por el php ini y en la pc "nueva" por llamarla de una manera tegas el error_reporting E_ALL lo cual muestra cualquier error o warning en algún código
    • Recursos Formacion
      o no copiaste el framework, o no en el mismo sitio.....
    • Recursos Formacion
      Si dices "hice todas las configuraciones necesarias" la respuesta es facil....revisalas

  • Angelika Hernandez Ir a la Publicación
    Hola  tengo el siguiente problema realice un crud con el generador para la tabla llamada ,ahora  quiero hacer una consulta a  esa misma tabla para contabilizar las llamadas que se han realizado,utilice un query pero no me funciona....espero alguna sugerencia Gracias
    public function actionIndex()
     {
      $sql="SELECT * FROM llamada";
     $sqlLlamada= Yii::app()->db->createComand($sql)->queryAll();
     
     $dataProvider=new CActiveDataProvider('Llamada');
     $this->render('index',array(
     'dataProvider'=>$dataProvider,
     'sqlLlamada'=>$sqlLlamada,
     ));
     }
    Esto lo coloque en el index.php de la views de llamda
    
    
    ejemplo de prueba
    Id_Llamada Num_Orden Num_Llamada
    Id_Llamada;?> Num_Orden;?> Num_Llamada;?>
    • Juvenal Claros
      Hola buenas. por lo que veo en tu codigo, estas haciendo redundante, porque  basta con el CActiveDataProvider, checka todas las funciones que este clase...suerte!!!!!!!!1
    • Mauro Maximiliano Martinez
      Hola angelica, para comenzar, esta mal la logica ya que no respeta mucho el patron mvc y ademas estas realizando algo redundante. Con realizar la instancia de CActivedataProvider y enviarla a la vista alcanza. En tu vista index.php te conviene utilizar un widget para realizar la tabla con los datos. Ahi podes utilizar el "CGridView", al cual, con enviarle el $dataProvider te renderizara la tabla que necesitas.
    • Angelika Hernandez
      Gracias tenian razon!

  • Daniel Caller Ir a la Publicación
    Hola tengo el siguiente problema, uso cruge y además he implementado una extensión para el envío de email... Al momento de enviar el formulario de contacto en el servidor local lo envío correctamente pero en el servidor on-line me causa problemas con cruge... Pongo el error que me arroja
    CDbCommand falló al ejecutar la sentencia SQL: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away. The SQL statement executed was: SELECT *
    FROM `cruge_authitem`
    WHERE name=:name
    
    Este es el código que generar el error:
    
    'visible'=>Yii::app()->user->checkAccess('action_contrato_update'),
    
    • Daniel Caller
      Según he leído esto se genera por sobre carga en la BD ... he revisado la tabla cruge_authitem y tengo como 700 registros...
    • Daniel Caller
      Le he quitado todos los checkAccess y me manda esto
      CDbCommand falló al ejecutar la sentencia SQL: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away. The SQL statement executed was: SELECT * FROM `cruge_session` `t` WHERE `t`.`idsession`=49 LIMIT 1
    • Christian Salazar
      1. te garantizo que el problema, ni es yii, ni menos cruge (que no tiene nada que ver con el issue que tienes).  el problema debe estar en alguna limitacion del hosting, una falta a la norma del mysql instalado (no se cual falta), cualquier otra cosa...700 registros es nada....7000 es nada...70.000 es nada...7.000.000 (es algo, y sin embargo funciona y bien).
      
      2. si ya existe el framework de correos de crugemailer, que te abstrae toda la app de detalles de correos y que permite incorporarle cualquier motor de correos...probada, requeteprobada, se sabe anda muy bien en ambientes extremos, y tiene 2 años de depuracion encima...(leiste sobre crugemailer ? algo de ella no te funciono ? que cosa falló ?).
      Si tu app tiene necesidades especiales de correos, simplemente usando una clase override en MiCrugeMailer permite que toda tu app use eso, y comparta el motor y mecanismo de envio de correos, llamadas como la siguiente hacen que a tu sistema ni le importa que harás al momento de "enviar un correo", pudieras estar enviando correos, un sms, un mensaje por chat, un log, y un registro de control....todo bajo el caso de uso: "enviar un reporte de inventario al usuario para una lista de productos"
      
        Yii::app()->crugemailer->reporteInventario($usuario, $productos);
      
      3. que dicen los Logs ? application.log ? no los veo en tu reporte...
    • Daniel Caller
      Hola Christian gracias por responder... sí yo sé que el problema no es cruge, funciona bastante bien, lo cual agradezco infinitamente que te hayas tomado el trabajo de realizarlo, el motivo de mi consulta era saber por qué la aplicación le echa la culpa a cruge... 2. no uso crugemailer porque no necesito renderizar vistas para los correos y no quería extender la clase para sobreescribir el método de sendMail... el envío de correos lo tengo dentro de un método de un componente que entre otras tantas cosas revisa saldos y envía un correo plano como alerta... El log que pongo abajo es probando el formulario de contacto que trae Yii
      2014/09/14 00:26:14 [error] [exception.CDbException] exception 'CDbException' with message 'CDbCommand falló al ejecutar la sentencia SQL: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away. The SQL statement executed was: SELECT *
      FROM `cruge_authitem`
      WHERE name=:name' in /home/u525160496/yii/framework/db/CDbCommand.php:543
      Stack trace:
      #0 /home/u525160496/yii/framework/db/CDbCommand.php(415): CDbCommand->queryInternal('fetch', Array, Array)
      #1 /home/u525160496/public_html/protected/modules/cruge/components/CrugeAuthManager.php(825): CDbCommand->queryRow()
      #2 /home/u525160496/public_html/protected/modules/cruge/components/CrugeWebUser.php(123): CrugeAuthManager->getAuthItem('action_proceso_...')
      #3 /home/u525160496/public_html/themes/osatacna/views/layouts/main.php(60): CrugeWebUser->checkAccess('action_proceso_...')
      #4 /home/u525160496/yii/framework/web/CBaseController.php(126): require('/home/u52516049...')
      #5 /home/u525160496/yii/framework/web/CBaseController.php(95): CBaseController->renderInternal('/home/u52516049...', Array, true)
      #6 /home/u525160496/yii/framework/web/widgets/CContentDecorator.php(76): CBaseController->renderFile('/home/u52516049...', Array, true)
      #7 /home/u525160496/yii/framework/web/widgets/CContentDecorator.php(54): CContentDecorator->decorate('
      run() #10 /home/u525160496/yii/framework/web/CBaseController.php(300): CBaseController->endWidget('CContentDecorat...') #11 /home/u525160496/public_html/themes/osatacna/views/layouts/column1.php(8): CBaseController->endContent() #12 /home/u525160496/yii/framework/web/CBaseController.php(126): require('/home/u52516049...') #13 /home/u525160496/yii/framework/web/CBaseController.php(95): CBaseController->renderInternal('/home/u52516049...', Array, true) #14 /home/u525160496/yii/framework/web/CController.php(784): CBaseController->renderFile('/home/u52516049...', Array, true) #15 /home/u525160496/public_html/protected/controllers/SiteController.php(186): CController->render('contact', Array) #16 /home/u525160496/yii/framework/web/actions/CInlineAction.php(49): SiteController->actionContact() #17 /home/u525160496/yii/framework/web/CController.php(308): CInlineAction->runWithParams(Array) #18 /home/u525160496/yii/framework/web/filters/CFilterChain.php(133): CController->runAction(Object(CInlineAction)) #19 /home/u525160496/public_html/protected/modules/cruge/components/CrugeAccessControlFilter.php(90): CFilterChain->run() #20 /home/u525160496/yii/framework/web/filters/CFilter.php(38): CrugeAccessControlFilter->preFilter(Object(CFilterChain)) #21 /home/u525160496/yii/framework/web/filters/CFilterChain.php(130): CFilter->filter(Object(CFilterChain)) #22 /home/u525160496/yii/framework/web/CController.php(291): CFilterChain->run() #23 /home/u525160496/yii/framework/web/CController.php(265): CController->runActionWithFilters(Object(CInlineAction), Array) #24 /home/u525160496/yii/framework/web/CWebApplication.php(282): CController->run('contact') #25 /home/u525160496/yii/framework/web/CWebApplication.php(141): CWebApplication->runController('site/contact') #26 /home/u525160496/yii/framework/base/CApplication.php(180): CWebApplication->processRequest() #27 /home/u525160496/public_html/index.php(13): CApplication->run() #28 {main} REQUEST_URI=/index.php?r=site/contact
    • Daniel Caller
      Y repito en el local me funciona correctamente, en el hosting es el suplicio...
    • Christian Salazar
      General error: 2006 MySQL server has gone away,  por eso, #2, revisa q el hosting no imponga limitantes al numero de consultas, normalmente "has gone away" ocurre cuando el cliente mysql ha sido desconectado del servidor..desde el servidor, es decir, mysql dijo: "chao, no te oigo mas, kill socket".  razones ? muchas. timeouts cortos, etc.
    • Daniel Caller
      Sí estuve leyendo sobre eso... aunque no entiendo que tanto trabajo hace el servidor enviando un correo y diciéndome que el problema está en una consulta que hace cruge... Gracias Christian igual son sólo pruebas la aplicación es para una intranet sólo que la colgue en el hosting para probarla desde otras máquinas, ya que yo no uso windows ni el IExplorer y en el lugar donde la voy a poner sí

  • Percy Ivan Miranda Moreano Ir a la Publicación
    Reliable Server for PHP on Laravel, RubyonRails.We provide web hosting, domain registration. http://www.hostinglaravel.com

    • Pedro Gonzalo Soto Soto Ir a la Publicación
      hola, estoy iniciando en el uso de yii, tengo que implementar algo llamado bootstrap, pero también encontré algo llamado yiistrap y yiibooster, cual me recomiendan? es para un proyecto de un ramo, espero sus respuestas, gracias
      • Junior Cabrera Vasquez
        bootstrap es la base de ambos!
      • Pedro Gonzalo Soto Soto
        Cual es más completo de los otros 2?
      • Jose Gabriel Paredes Oduber
        El bootstrap es el mejor
      • Oscar Cortez
        Yii booster usa bootstrap 3.1.1 y yiistrap usa bootstrap 2.3.2. Ambos incorporan gii (generador de crud). Yo uso yiibooster. Bootstrap es un framework frontend. Yiibooster y yiistrap son extensiones de yii para manejar componentes (widget) al estilo bootstrap
      • Pedro Gonzalo Soto Soto
        gracias por sus respuestas, una duda, el yiistrap me da una opcion en el gii para generar el crud, pero en yiibooster no encontre esa opcion (probe ambos), es normal o el yiibooster lo implemente mal?
      • Oscar Cortez
        Yiibooster igual tiene. Pero no hay mucha info en su pag oficial. Googlealo con: yiibooster gii config (jejeje como si no supiéramos googlear)
      • Mauro Maximiliano Martinez
        Utiliza yiibooster. Esta actualizado a la ultima version de bootstrap, y tiene los mismos widgets de yiistrap.

    • Ramiro Anacona Meneses Ir a la Publicación
      Hola Christian, dale una revisada a esto: http://www.yiiframeworkenespanol.org/foro/showthread.php?tid=832
      
      Gracias.
      • Christian Salazar
        respondido en el foro.
      • Ramiro Anacona Meneses
        (y)

    • Juan Polania Ir a la Publicación
      Buen día, hoy mi pregunta no es nada sobre yii. 
      Quiero saber si alguien sabe como registrar los derechos de autor de un software desarrollado. He consultado y me dicen que es en el siguiente link http://www.derechodeautor.gov.co/ pero no estoy seguro como hacerlo. Sus comentarios serán de gran ayuda.

      • Mauro Maximiliano Martinez Ir a la Publicación
        Buen día, tengo una inquietud al realizar uno o mas JOINs mediante un criteria, con tablas que no se encuentran relacionadas entre si con FK. Por motivos de diseño de la aplicación, no pueden estar relacionadas.
        
        Entonces, estoy realizando el criteria de la siguiente manera:
        
        $criteria = new CDbCriteria();
         
        $criteria->select = 'a.IdMovil,a.IdDispositivo,b.Movil_Dominio,c.Disp_ID';
        $criteria->alias = 'a';
        $criteria->join = 'LEFT JOIN moviles AS b ON a.IdMovil = b.IdMovil';
        $criteria->join .= ' LEFT JOIN dispositivos AS c ON a.IdDispositivo = c.IdDispositivo';
        $criteria->condition = "a.IdUsuario = $id";
        
        Y la consulta:
        
        $model = $model->findAll($criteria); 
        
        El problema es, que al recuperar el modelo sólo me devuelve las 2 columnas a.IdMovil y a.IdDispositivo, pero no las del JOIN.
        
        Que puedo hacer para solventar este problema sin necesidad de realizar relaciones entre las tablas?
        
        Gracias
        • Lo De Yepes Era Gol
          creo que tiene que ver con tu segunda linea $criteria->select ="", casi estoy seguro que podrias quitarla, y si no funciona intenta $criteria->select =' * , a.IdMovil,a.IdDispositivo,b.Movil_Dominio,c.Disp_ID':
        • Mauro Maximiliano Martinez
          No, probe de las 2 maneras pero sigue funcionando igual. Si quito la linea del select trae todos los registros de la tabla sin los join. Y, si utilizo la linea con el * funciona de la misma manera, y sigue sin devolver los datos de los JOIN
        • Mauro Maximiliano Martinez
          Una manera funcional que encontré, es realizarlo por el queryBuilder:
          
          $sql = "SELECT a.IdMovil,a.IdDispositivo,b.Movil_Dominio,c.Disp_ID FROM tabla AS a
          LEFT JOIN moviles AS b ON a.IdMovil = b.IdMovil
          LEFT JOIN dispositivos AS c ON a.IdDispositivo = c.IdDispositivo
          WHERE a.IdUsuario = $id";
          
          $consulta = Yii::app()->db->createCommand($sql)->queryAll();
          
          Aunque me queda la duda de por qué no funciona con CDbCriteria... de seguro hay algun parametro o truquito que no estoy encontrando :P
        • Lo De Yepes Era Gol
          bueno, si ud quiere obtener las tablas del join es decir .. b.columna no va a poder debido a que la consulta se hace hacia el modelo que use, y los join solo son usuados para la busqueda, ahora no se si sabe pero con yii ud puede crear las relaciones asi no existan en la base de datos, osea son opcionales. de echo tambien utilizo estas relaciones que son opcionales.
        • Mauro Maximiliano Martinez
          No sabía que se podian crear las relaciones en el modelo, sin que existan en la base de datos. Ahora investigaré un poco mejor.
          
          Gracias

      • Diego Armando Hernandez Villalba Ir a la Publicación
        Hola a todos, ¿Cómo puedo visualizar la latitud y longitud de un marcador que tiente como draggable = true con la extensión EGMap? Gracias.

        • Recursos Formacion Ir a la Publicación
          Esto no se arregla ni con la independencia.
          Que dura es la labor del político, !, Con la de problemas que tiene, la de "casos" que tapar,...y todavia tiene tiempo de pensar en la Independencia!
          Pues como no sea pronto, no quedará nada que ondear!

          • Christian Salazar Ir a la Publicación
            buenas noches gente, aqui les dejamos este sitio web para saber que opinan, para que prueben, envien sus comentarios constructivos.
            
            TAGS DE CODIGO 
             $codigo = 123; 
            en base a este sitio web, podrán ahora añadir tags "
             $micodigo; 
            " en sus comentarios de facebook aqui en el gruopo y tras un tiempo corto serán publicados en el sitio web, con capacidad de búsqueda por palabras (no fases complejas). BUSQUEDA, el sitio web les permite buscar texto y codigo desde una sola plataforma y hacia todos los canales sociales: Facebook, Twitter, Grupo de Fb, YiiOficial, Blogs, Foro, Wiki. URL, cada post, así venga de Facebook, de Twitter, de un canal RSS, o de cualquier otro origen tendrá su propia URL, que podrán compartir en cualquier parte y comentarla con FacebookComments, independientemente de la conversación que el post haya detectado. http://www.yiiframeworkenespanol.com/post/consulta-alguien-a-trabajado-en-la-integracion-de/facbk/171245476282742_692661440807807 LISTA DE ARTICULOS, verán un menú de los ultimos 1000 artículos, que ayuda a buscar información, tanto a humanos como a buscadores. http://www.yiiframeworkenespanol.com/articulos SOCIAL, se unen todas las redes sociales, Twitter, Grupo deFacebook, Foro, Wiki, YiiOficial, Blog personales (bienvenidos otros que quieran aportar su canal RSS/Atom). La url (Beta) : www.yiiframeworkenespanol.com Atentamente sus servidores. (Gracias Ivan Salomon por el Hosting de calidad, aunque el foro y la wiki se mantienen en 1and1, el sitio nuevo esta en este nuevo hosting).
            • Christian Salazar
              Ejemplo de comentario puesto acá con tags, que aparecerá en la sección "Facebook" del sitio web:
              
              
                  $algo = isset($_GET["algo"]) ? $_GET["algo"] : "nada";
                  if("123" == $algo) 
                       echo "<pre>tipeado: {$algo}</pre> <h1>safe tags</h1>";
              
              chao. prueba finalizada. debería aparecer pronto.
            • Carlos Belisario
              Grandioso me gusta la nueva forma del sitio +1000000000000000000000000000000000000000  a todos lo que coordinaron y lo hicieron
            • Esteban Adrián P
              [troll/emo mode ON]
              Lamentablemente, Carlos, Christian donó su tiempo y esfuerzo en algo que se discutió durante mucho tiempo :(
              Y el muy (con respeto) HDP logró (a pesar de cierta crítica de mi parte :S )
              Si esto, YiiÑ va tomando forma, es gracias a su entusiasmo...
              [troll/emo mode OFF]
              Felicitaciones, Chris :D
            • Christian Salazar
              jajaja gracias
            • Christian Salazar
              muchos podrian decir (y me lo han insinuado en otras partes)
              "de seguro el pibe no tiene nada que hacer o vive arrimado y no paga ni la luz...".
              
              la respuesta de nuevo es: MODELADO.
              
              todo, absolutamente todo el sitio web esta hecho con 2 extensiones 100% reutilizables y abstractas, son tan reutilizables que la experiencia adquirida en ellas será utilizada para resolver problemas de mis clientes, no haciendo otro desarrollo, sino reutilizando las extensiones y expandiendolas en funcionalidad. por tanto, a quienes "me pagan la luz  y lo demás" se benefician con research.
              
              la primera extensión, es un extractor abstracto de contenido social....le importa orto de donde vino la publicación, la obtiene mediante una simple clase de asociacion:
              
              [post]---recibidopor-->[alimentador]------>[lee]------>[redsocial]
                  lee: mediante [plugin]
              
              donde [plugin] es uno diseñado y "especializado" para la [redsocial], así, sin importar la red social, se hace un plugin que implementa una simple interfaz y listo, es capaz de darle información al [alimentador], que finalmente recibe un [post].
              
              hasta ahi esa extensión hace solo es: alimentar, no es su tarea almacenar, por tanto la siguiente extensión es mas como un CMS para yii, toma un [post] abstracto, lo almacena, lo busca, lo lista, lo analiza, sin importarle de donde vino.
              
              finalmente el sitio web (hecho en yii puro) lee posts de diversas fuentes usando al [alimentador],  captura cada [post ] y se lo da al [gestionador], quien es el encargado de proveer las listas de posts, los comentarios sobre estos y las personas involucradas.
              
              diseñado con uml, yiiframework, y sobre todo: modelado.  1 semana de desarrollo, el motor de extracción: 8 horas, el gestionador: 2 dias, el sitio web 2 dias...resto: fixtures.
            • Esteban Adrián P
              Sos un mostro >_<
            • Christian Salazar
              queda ver de parte de la comunidad:  
              qué es útil,
              qué no lo es,
              cómo funcionaría mejor algo ? (qué y cómo ?)
              
              TASK:
              si alguien sabe cómo enviar una notificación a un usuario de facebook usando el GraphApi de éste, bienvenido, ya tuve suficiente con los accessTokens de openAuth y las adivinanzas en el api de FB.
            • Freddy Antonio Cruz U
              :O esta genial el proyecto, felicitaciones!!
            • Hector Moncada
              FELICITACIONESSSSS..ahi la vi..pero queria postear un comentario y no encontre como...despues con tiempola vere en detalle. MUY BUENA! ABRAZO
            • Christian Salazar
              gracias don hector.  el tema de publicar comentarios esta un poco enredado, razon:  es un compendio de varias redes sociales en un solo sitio web. por tanto el caso de uso "publicar un comentario" depende de la red social seleccionada: para eso abajo de cada post hay un enlace a la red social para comentar desde ella, o simplemente comentas con el widget Fbcomments (pero eso no alertara al usuario que hizo la pregunta, no se como comunicar fbcomments con el dueño del post en el caso de que el post sea de tipo facebook).
            • Juan Camilo Restrepo
              Excelente que buen trabajo, y gracias ;)
            • Christian Salazar
              andamos resolviendo un tema que no permite actualizar las recientes publicaciones, en espera del proveedor de hospedaje para que actualice unos settings de php que causan denegación de paso de argumentos a aplicaciones de consola.  mas info:
              
              problema:
              
              cuando se intenta acceder a una consola yii (CConsoleApplication) esta falla diciendo: "This script must be run from the command line".
              es decir, cuando se corre el cronjob que lee los feeds este falla con ese error.
              
              causa primaria:
              
              el error "This script must be run from the command line" es generado en:
              https://github.com/yiisoft/yii/blob/master/framework/console/CConsoleApplication.php#L79
              sucede cuando este script detecta que la variable de argumentos de linea de comando no existe 
              $_SERVER["argv"]
              . La variable de servidor indicada es la que sostiene la linea de comando y sus argumentos, no falla cuando por ejemplo solo quieres hacer: "php -f x.php" siendo x.php un script directo, sin invocaciones a otros scripts y/o sin uso de argumentos. pero las aplicaciones de consola usan argumentos. por eso falla. analisis: La variable de servidor indicada es bloqueada / activada por medidas de seguridad mediante un setting de php.ini, enlace: http://php.net/manual/es/ini.core.php#ini.register-argc-argv solución: #en php.ini poner el switch a "On" register-argc-argv = On; alternativas que no funcionan: el proveedor de hosting no soporta "settings override" (es decir, poner un php.ini con settings privados para el hospedaje en cuestión, eso puede hacerse en apache mediante una directiva que admite que el modulo php acepte otro php.ini sectorizado. Tampoco funciona indicar una ruta forzada de php.ini en la llamada al modulo php). php -c "~/miphp.ini" -f "~/miscript.php --mascota=maty"
            • Ivan Salomon
              Estamos en tema. Pronto la solución.

          • Ignacio Ortiz Ir a la Publicación
            Amigos, me gustaría saber cual es mi error, estoy agregando una imagen a un pdf y resulta que no me encuentra la imagen, adjunto dirección de la imagen y el código
            • Fernando Ramírez Muñoz
              No será por un asunto de permisos?
            • Ignacio Ortiz
              no, utilizo la imgen en vistas y funciona bien
            • Jesús Peña
              En lugar de usar baseUrl utiliza
            • Jesús Peña
              En lugar de baseUrl deberías utilizar hostInfo
            • Ignacio Ortiz
              tiene algún ejemplo sobre como aplicarlo ?
            • Jesús Peña
              donde tienes YII::app()->baseUrl puedes poner asi: Yii::app()->request->hostInfo
            • Ignacio Ortiz
              hay que definir algo en el CONFIG ?
            • Jesús Peña
              no!.
            • Ignacio Ortiz
              me aparece:  "La propiedad "CWebApplication"."hostInfo" no se encuentra definida. "
            • Jesús Peña
              ohh, que raro!!... que pasa si solo quitas donde dice YII::App()->baseUrl?
            • Ignacio Ortiz
              ya solucione el error, pero sigue sin mostrar la imagen
            • Ignacio Ortiz
              request->hostInfo. "/css/imagenes/marca.png")); ?>
            • Ignacio Ortiz
              Jesús, tendre que agregar algo más a    "/css/imagenes/marca.png"
            • Laro Man
              Tenes que poner la ruta completa. Desde la / del host
            • Jesús Peña
              es que depende donde tendras tu imagen man!!...
            • Laro Man
              lo que te trataba de decir es tenes que poner la imagen asi. por ejemplo: Si tu webapp esta en "/www/miweb" Lo que tienes que hacer es declarar un Alias en tu archivo config. (http://www.yiiframework.com/doc/guide/1.1/es/basics.namespace). para que te aparezca en el pdf debes llamarlo asi /www/miweb/images/foto.jpg
            • Osc Quisbert
              usa basePath en lugar de baseUrl, asi tendras la ruta absoluta
            • Ignacio Ortiz
              en mi caso, como deberia definir mi ruta usando el basePath o Hostinfo ?
            • Andres Lucio
              yo no coloco el baseurl pues este te dirige al protected yo lo hago directamente asi "/css/imagenes/marca.png"

          • Jose Daniel Cifuentes Ir a la Publicación
            Cordial saludo, alguno de ustedes tiene algún ejemplo o guía de como se ´crearía una aplicación de inventarios o ejemplos similares, en donde los productos tienen combinaciones de talla, color. Agradezco su ayuda.

            • Ivan Salomon Ir a la Publicación
              [1/2 OFF TOPIC] Interesantisimo articulo, no solo por la parte laboral sino para replantearnos como trabajamos y vivimos. 
              http://itflow.biz/10-best-countries-fordevelopers/

              • Botia Julian Ir a la Publicación
                Buenas noches, algo estraño ocurrio actualicé Yii, y el problema que ocurre es que en una funcionalidad que me funcionaba bien ahora me dice 
                
                'La propiedad "DetalleProgramaAuditoria"."
                                ID_PROGRAMA_AUDITORIA" no se encuentra definida.
                
                asi acurre con varias propiedades de ese modelo DetalleProgramaAuditoria
                
                alguna idea
                
                se que es dificil con tan poca información pero cualquier pista les agradeceria
                • Carlos Belisario
                  case sensitive? propiedad no existe? versión?
                • Esteban Adrián P
                  Si dice "propiedad" habla de "modelo" o "controlador"... Ambos son objetos que:
                  - en el caso de ser "modelo" o es una propiedad "dinámica" (definida fuera de la tabla de la BD) como una variable/atributo, o bien...
                  - en el caso del "controlador" como una variable/atributo del mismo que en el ·modelo" lo adjudicas a una propiedad del mismo...
                  Ante tus ojos tienes la respuesta :)
                • Fernando Ochoa
                  mira este caso.... depronto te pueda servir.. http://www.yiiframework.com/forum/index.php/topic/51744-obtener-valores-de-usuario/
                • Botia Julian
                  aca esta el código de mi modelo
                  http://pastebin.com/Ftcf6uGQ
                  
                  y esta es la base de datos
                • Botia Julian
                  mirando el problema al parecer es con el scenario
                • Botia Julian
                  pero no entiendo por que antes si funcionaba :(
                • Botia Julian
                  por si algo el problema eran los escenario: aca dejo la forma cómo los modifique
                  
                  http://pastebin.com/VpGW0dYJ
                  
                  sin embargo no logre entender cómo funcionaba antes.
                  
                  saludos a todos 
                  Gracias
                  Carlos Belisario Esteban Adrián P y Fernando Ochoa
                • Fernando Ochoa
                  Jajajaj brujeria... jajaja
                • Christian Salazar
                  en algunas partes el pastebin esta bloqueado, como alternativa puedes copiar el codigo acá entre tags 
                  codigo
                  y visualizarlo en el nuevo sitio web, esta es la url de este post: http://www.yiiframeworkenespanol.com/post/buenas-noches-algo-estrano-ocurrio-actualice-yii-y/facbk/171245476282742_699708546769763
                • Botia Julian
                  Código que no funcionaba 
                  
                  public function rules() {
                          // NOTE: you should only define rules for those attributes that
                          // will receive user inputs.
                          return array(
                              array('
                                  ID_PROGRAMA_AUDITORIA, 
                                  FECHA_AUDITORIA, 
                                  LUGAR_AUDITORIA, 
                                  LIDER_EQUIPO_AUDITOR, 
                                  HORA_INICIO_AUDITORIA, 
                                  HORA_INICIO_FIN',
                                  'required', 'on' => 'tabProceso'),
                              array('ID_PROGRAMA_AUDITORIA', 'numerical', 'integerOnly' => true),
                              array('LUGAR_AUDITORIA, ASISTENTES_GLOBALES_AUDITORIA', 'length', 'max' => 100),
                              array('LIDER_EQUIPO_AUDITOR, AUDITOR_ACOMPANANTE', 'length', 'max' => 150),
                              array('REQUISITOS_NORMA_DPA,FECHA_AUDITORIA, HORA_INICIO_AUDITORIA, 
                                  HORA_INICIO_FIN', 'safe'),
                              array('
                                  programaAuditoriaEnsenanzaApredizaje, 
                                  FECHA_AUDITORIA2, 
                                  LUGAR_AUDITORIA, 
                                  LIDER_EQUIPO_AUDITOR, 
                                  HORA_INICIO_AUDITORIA, 
                                  HORA_INICIO_FIN,
                                  casosForm2,', 'required', 'on' => 'tabEnsenazaApredizaje'),
                              array('
                                  programaAuditoriaSubProcesos, 
                                  FECHA_AUDITORIA3, 
                                  LUGAR_AUDITORIA, 
                                  LIDER_EQUIPO_AUDITOR, 
                                  HORA_INICIO_AUDITORIA, 
                                  HORA_INICIO_FIN,',
                                  'required', 'on' => 'tabSubProceso'),
                              // The following rule is used by search().
                              // @todo Please remove those attributes that should not be searched.
                              array('ID_DETALLE_PROGRAMA_AUDITORIA, ID_PROGRAMA_AUDITORIA, FECHA_AUDITORIA, LUGAR_AUDITORIA, LIDER_EQUIPO_AUDITOR, AUDITOR_ACOMPANANTE, REQUISITOS_NORMA_DPA, HORA_INICIO_AUDITORIA, HORA_INICIO_FIN, ASISTENTES_GLOBALES_AUDITORIA', 'safe', 'on' => 'search'),
                          );
                      }
                  
                  Ajustes
                   public function rules() {
                          // NOTE: you should only define rules for those attributes that
                          // will receive user inputs.
                          return array(
                              array('ID_PROGRAMA_AUDITORIA, FECHA_AUDITORIA, LUGAR_AUDITORIA, LIDER_EQUIPO_AUDITOR, HORA_INICIO_AUDITORIA, HORA_INICIO_FIN', 'required','on' => 'tabProceso,tabSubProceso,tabEnsenazaApredizaje'),
                              array('ID_PROGRAMA_AUDITORIA', 'numerical', 'integerOnly' => true),
                              array('LUGAR_AUDITORIA, ASISTENTES_GLOBALES_AUDITORIA', 'length', 'max' => 100),
                              array('LIDER_EQUIPO_AUDITOR, AUDITOR_ACOMPANANTE', 'length', 'max' => 150),
                              array('REQUISITOS_NORMA_DPA,FECHA_AUDITORIA, HORA_INICIO_AUDITORIA,HORA_INICIO_FIN', 'safe'),
                              array('programaAuditoriaSubProcesos, FECHA_AUDITORIA3,', 'required', 'on' => 'tabSubProceso'),
                              array('programaAuditoriaEnsenanzaApredizaje, FECHA_AUDITORIA2,casosForm2,', 'required', 'on' => 'tabEnsenazaApredizaje'),
                              // The following rule is used by search().
                              // @todo Please remove those attributes that should not be searched.
                              array('ID_DETALLE_PROGRAMA_AUDITORIA, ID_PROGRAMA_AUDITORIA, FECHA_AUDITORIA, LUGAR_AUDITORIA, LIDER_EQUIPO_AUDITOR, AUDITOR_ACOMPANANTE, REQUISITOS_NORMA_DPA, HORA_INICIO_AUDITORIA, HORA_INICIO_FIN, ASISTENTES_GLOBALES_AUDITORIA', 'safe', 'on' => 'search'),
                          );
                      }
                  
                • Christian Salazar
                  pronto hallaré la forma de poder editar comentarios de facebook desde el sitio web como tal, en vez de entrar a facebook para agregarlo, aunque, recordando si que el post pudo ser facebook, twitter, myBB, rss..en el caso de facebook pues al agregar un comentario debe hacerse mediante el graphApi de facebook, en el caso de twitter usando el api de twitter, y asi.  Espero ir agregando esa funcionalidad de a poco, porque si espero a la comunidad...pasan otros 2 años y nada sucede.
                • Fernando Ochoa
                  !!!! No pues....

              • Julian Andres Garzon Morales Ir a la Publicación
                Buenos días, que vídeo tutorial me recomiendan para configurar cruge, debido a que estoy trabajando con bootstrap y deseo que los formularios y el cgridview de la lista de usuarios tengan el estilo de bootstrap ademas de los botones y demás, muchas gracias buen día para todos
                • Albert Medina
                  Yii Framework en youtube, elige el que desees
                • Ivan Salomon
                  Con el Tutorial de CRUGE te sobra. Esta explicado como para un niño de 6 años. Ánimo y a leer...
                • Julian Andres Garzon Morales
                  si, ya pude configurarlo gracias al tutorial de cruge, la verdad no lo había leído :D

              • Ariel Rojas Ir a la Publicación
                por favor alguien que me pueda dar las instrucciones paso a paso para subir un proyecto yii como repositorio a github con git bash, lo intente pero me sale un error de que el repositorio ya exite cuando hago el push
                • Christian Salazar
                  en la wiki, el foro (sobre todo ahi) hay documentos publicados por nosotros sobre GIT, mas abajo en este post, Ivan Salomon publico un sitio web con info de git.  Leelas todas
                • Ariel Rojas
                  de acuerdo gracias
                • Ivan Salomon
                  El mejor tutorial lejos y que publique es http://www.gitimmersion.com/

              • Ariel Rojas Ir a la Publicación
                alguien que conosca un hosting gratuito para subir mi proyecto yii, intente con 000webhost pero creo que exedi el limite, mi proyecto pesa 110 MB pero es porque estoy utilizando el bootstrap.
                • Christian Salazar
                  pero el bootstrap no pesa 110 megas...ni 20, ni 1
                • Christian Salazar
                  bootstrapes: un conjunto pequeñito de archivos CSS y uno o dos JS...nada mas, si estas llevandote todo el development kit....eso ya es algo de lectura sobre la herramienta.
                  
                  http://www.cniska.net/yii-bootstrap/
                • Ariel Rojas
                  si tienes razon ya me fije el tamaño y me di cuenta que a carpeta assets es la que esta pesando mas de 90 MB, cual es la funcionalidad de esa carpeta?porque pesa tanto?
                • Jose Daniel Cifuentes
                  http://www.hostinger.co/
                • Ariel Rojas
                  me di cuenta que a carpeta assets es la que esta pesando mas de 90 MB, cual es la funcionalidad de esa carpeta?
                • Christian Salazar
                  lee sobre el framework....te ayudara mucho...hay mucha info sobre assets.
                • Ivan Salomon
                  Antes de subir borra todo lo que esta dentro de assets.
                • Botia Julian
                  aws

              • Ariel Rojas Ir a la Publicación
                subi un proyecto yii a 000webhost pero me dijeron que tenia que configurar el algunos archivos en yii pero no se cuales son, creo que es sobre la  direccion porque me sale el siguiente error
                Warning: include() [function.include]: Failed opening '/home/u403541411/public_html//web/CWebApplication.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/u403541411/public_html/yii/framework/YiiBase.php .
                Como podria solucionar este problema por favor.
                • Recursos Formacion
                  Mira a ver si esto te ayuda
                  http://www.recursosformacion.com/wordpress/2014/01/yii2-instalando-el-framework/
                • Christian Salazar
                  JAMAS HAGAS ESTO:
                  /home/u403541411/public_html/yii/framework/
                • Christian Salazar
                  estas echando a la miex  toda la seguridad del framework al exponerlo al publico,
                • Christian Salazar
                  si tu hosting es:
                  /home/u403541411/public_html/
                  
                  entonces, tu aplicacion web va ahi:
                  /home/u403541411/public_html/miaplicacion/index.php?r=site/index
                  
                  y, el index.php indicará la ruta del framework fuera de public path:
                  index.php es:
                  
                  $yii='/home/u403541411/privado/yii/framework/yii.php';
                  $config=dirname(__FILE__).'/protected/config/main.php';
                  
                  o alternativamente asi:
                  $yii=dirname(__FILE__)."/../../private/yii/framework/yii.php";
                • Ariel Rojas
                  gracias amigo lo voy a configurar entonces
                • Christian Salazar
                  "read the source luke.."
                • Ivan Salomon
                  Un blanco potencial de ataque si tuviese 15 años menos ;). Ahora ando de sombrero blanco :P
                • Ariel Rojas
                  hice la configuracion recomendada pero todavia no logro que funcione mi proyecto: configure el index y index-test porque los dos tienen las rutas para que funcione pero sigue saliendo errores: 
                  Warning: require_once(/home/a2877695/public_html/tarea4/../../private/yii/framework/yii.php) [function.require-once]: failed to open stream: No such file or directory in /home/a2877695/public_html/tarea4/index.php on line 12
                  Fatal error: require_once() [function.require]: Failed opening required '/home/a2877695/public_html/tarea4/../../private/yii/framework/yii.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/a2877695/public_html/tarea4/index.php on line 12 , y la verdad busque informacion de como corregir las rutas y no encontre, porfavor cual seria la configuración?
                  mi index es este:
                  run();
                • Ivan Salomon
                  Donde esta ubicado el framework? La ruta completa. Y pega en index
                • Ariel Rojas
                  esta en public_html al igual que  mi aplicación, y el index-test tengo que configurarlo? jejeje la verdad que me complique en esta parte, proque ahora me sale El alias "ext.bootstrap.components.bootstrap" es inválido. Asegúrese de que apunta a un archivo PHP existente y que el archivo tiene permisos de lectura. Bueno creo que eso de las rutas es complicado no mas, voy a s seguir buscando información.
                • Ivan Salomon
                  No el index test no. Segun tu config el framework esta DOS directorios atras para llegar a private.yii.framework.yii.php chequea que sea así.
                • Ariel Rojas
                  mi proyecto lo llame tarea4 ahi adentro esta el protected y demas carpetas, este proyecto tarea4 lo copie al public_html y el yii esta fuera del public_html es decir al mismo nivel.
                • Ariel Rojas
                • Ariel Rojas
                  y mi index es el siguiente:
                • Ariel Rojas
                  los errores que me salen son:
                • Ariel Rojas
                  en esto estoy dias cambie ya varias cosas  no logre hacerle funcionar, me cuesta enteder sobre las rutas que maneja yii, porfavor si me pueden ayudar un poco mas
                • Christian Salazar
                  leer leer,
                • Christian Salazar
                  no hay ningunas "rutas que maneja yii",  es php puro, uso de directorios, como te conté el framework debe estar fuera de public_html, y el index.php debe saber donde esta el archivo yii.php. nada mas.
                  simplemente es un problema por ausencia de troubleshooting y de lectura.

              • Christian Salazar Ir a la Publicación
                [POSTEAR MEJOR PARA RECIBIR AYUDA MAS RAPIDO]
                
                Titulos de posts punteadores de orto:
                
                "hola me estoy reventando con este codigo que me tiene loco y....."
                "hola necesito ayuda ya no se que hacer y ....."
                "alguna ayudita por el amor de dios ....."
                "quisiera saber si alguien en me puede echar una manito ....."
                
                Este tipo de post regularmente no recibirán ayuda porque a nadie le gusta leer, ser concreto a la hora de preguntar:
                
                "Hola, tengo esta falla en tal o cual parte, aqui va el log"
                
                (si....post duplicado, pero hay muchos miembros nuevos).

                • Julio Cesar Becerra Urbina Ir a la Publicación
                  Hola comunidad, he recibido el requerimiento de implementar un pequeño chat en un sistemita web, Que extensión me recomiendan? No es necesario que el chat guarde la conversación en la base de datos.
                  • Juan David Gomez
                    Amigo creo que la mejor manera de implementar un chat es usando realtime pero con php esto se dificulta un poco soluciones a esto no tan eficientes son  implementaciones con ajax y hacer peticiones constantes para simular realtime
                  • Julio Cesar Becerra Urbina
                    Eso de las peticiones constantes en ajax Mozilla me bloquea por considerar que afecta el rendimiento.
                    Use la extensión yiichat de Yii pero no es lo que busco :/
                    Hay una extensión mjmchat que usa NodeJS de yi tbn pero no se como usarla la verdad :P
                    Gracias por tu comentario (Y) - Ahora me encuentro viendo chats jquery nomás por que con extensiones de Yii ya intenté solo hay 3
                  • Juan David Gomez
                    Si con node puedes hacer uno muy eficiente pero eso ya es otro servidor y otra tecnología diferente
                  • Juan David Gomez
                    Si tienes la forma de instalar node en tu servidor creo que seria la mejor manera, en Internet hay muchos tutorial es de chats en node
                  • Christian Salazar
                    con respeto a los que opinan sobre node js.   hay que usar las herramientas de acuerdo a la cantidad de requests esperados, no usar herramientas por usarlas.  nodeJs te sobrapasa extremada, exageradamente, ultimadamente y degeneradamente en las peticiones, es para otro tipo de desarrollos con un volúmen extremadamente alto, estoy hablando de pull de servidores con una tasa de 1000 peticiones POR SEGUNDO y mas.
                    
                    Para todo lo demás, en donde las peticiones POR MINUTO no superan las 10 o 100 o 1000 (POR MINUTO) entonces basta con usar peticiones estandar.  Para ello, tengo la extensión yiichat, probada en muchos entornos, muy fuerte, basada en yii.
                    
                    Ojo, leanme bien.  No estoy diciendo que "nodejs no sirve y yiichat si"....estoy diciendo que muchas veces por moda y por seguir lo que otro hizo entonces se subutuilizan las herramientas como nodejs.
                    
                    Yo he usado nodeJS, y alternativas de muy bajo nivel, mas bajo que nodeJS, a C puro, en ambientes que no nombraré, pero con peticiones tan taltas como 10.000 por segundo, en equipos de muy bajo rendimiento, y en esos caos es donde nodeJS o similares son validas al 100%.....AQUI Y HOY NO.
                    
                    La gente me ha dicho, "pero con yiichat voy a enviar peticiones ajax a cada rato y ESO COLAPSA EL SERVIDOR". eso no es cierto, estan equivocados, sería cierto solo si las demandas POR SEGUNDO superan las 1000 concurrentes, ahi si colapsa, pero para tener 1000 concurrentes hablo de tener 36.100.000 de conexiones en una hora...osea, medio planeta enchufado...
                    
                    vas a enchufar medio planeta en una hora ? o solo 100 personas maximo en una hora ?
                    
                    decisiones de uso de herramientas se deben basar en la demanda esperada, no en otras cosas.
                  • Christian Salazar
                    http://www.yiiframework.com/extension/yiichat/
                  • Julio Cesar Becerra Urbina
                    Gracias estimado, siempre es bueno ver comentarios basados en experiencias y me ha quedado una visión mas clara sobre Node JS
                  • Christian Salazar
                    ojo..los muchachs no te estan diciendo algo malo, si es bien nodejs, pero sobredimensionado, solo apunto a que antes de meterse a algo saber realmente el alcance esperado,
                  • Christian Salazar
                    la extension yiichat tiene 1900 descargas, 15 votos + y 2 negativos, de algun animal de siempre que vota negativo al no saber usar las cosa o porque le fue mal en algo..., puedes verla e implementarla, es 100% manipulable en estilos y layout, basada en jQuery totalmente.
                  • Julio Cesar Becerra Urbina
                    Hola Christian Salazar, instalé correctamente yiichat con BD, vaya que es sencillo de implementar y está funcionando pero tengo una duda del parametro data del widget (disculpa la ignorancia)
                     'data'=>(12),                 // data passed to the handler
                    Que es lo que tengo que poner o ya no es necesario cuando voy con Base de de datos, es decir con model=>new ChatHandler()
                  • Julio Cesar Becerra Urbina
                    Bueno y también veré la forma de mostrar a los usuarios online.
                  • Christian Salazar
                    data es un valor que pasara por todo el sistema, desde tu setup hasta los eventos.  por ejemplo, si en el widget le dijiste "data=123", entonces cuando llega un evento llega "onXXX(data){ $_123 = $data; }"
                    
                    familiarizate un poco mas con la lectura de las fuentes de informacion que trae el yiichat,
                  • Christian Salazar
                    agrego que:   no es tarea del yichat gestionar usuarios, el solo gestiona una conversacion "entre dos cosas", no necesariamente usuarios, podrias poner a dos sistemas a conversar automatizadamente...la gestion de usuarios la haces tu.
                  • Julio Cesar Becerra Urbina
                    Quiero agradecerle ing, gracias por su tiempo, tengo dos meses en yii y me parece excelente.

                • Angelika Hernandez Ir a la Publicación
                  Hola...estoy realizando un practica de prestamos de libros...pero quiero que al hacer un prestamo  de un libro me lo descuente de los existentes en la BD, la verdad no se como hacerlo..encontre este codigo pero no me funciona...no me hace el descuento 
                  
                  Alguien puede ayudarme...
                  • Rodrigo Utrera
                    No tengo idea de yii pero cuando restas libros_total - préstamo_cantidad se lo estas asignando a una variable que según tu última línea debería llamarse total
                  • Rodrigo Utrera
                    me explico mejor porque estaba en el movil y es dificil escribir. en la primer linea (var Libros_total = document.getElementById('Libros_total').value ;)estas tomado el valor de un campo que al parecer contiene el total de tus libros, en la segunda (var Prestamo_cantidad = document.getElementById('Prestamo[cantidad]').value ;) la cantidad de libros a prestar. luego estas declarando otra variable que, desde mi punto de vista es erronea ya que asignas el mismo nombre que la primera linea. ahi la deberias llamar solo total a la variable. y lo que hace en la ultima linea es que al campo libros_total se le asigne el valor de la resta con una variable total.
                  • Angelika Hernandez
                    mmm quedaria asi...???
                  • Vladimir Leuyacc
                    Trabajalo desde el controller de esa vista... En la función create.. :)
                  • Oscar Cortez
                    Ese script solo afectara la vista. Pq es javascript. La base de datos (persistencia de datos) ni se entero del préstamo. Jejeje.
                  • Rodrigo Utrera
                    claro, ahi solo estas manejando la vista... luego deberias actualizar la base de datos
                  • Oscar Cortez
                    Update inventario-libro set cantidad = cantidad - (input) cantidad-libros-prestados where id-libro = (input) id-libro. (Hacer esto n veces. En un prestamo uno puede prestarse distintos libros)
                    Update prestamo-libro set estado = 'devuelto' (anteriormente en 'prestado') where id-prestamo = (input) id-prestamo 
                    Estoy en la movi. Y es dificil escribir. En la db seria algo asi
                  • Angelika Hernandez
                    ok ok tratare de hacerlo Oscar Cortez
                  • Cesar Gago Egocheaga
                    Vladimir Leuyacc ayudala!
                  • Vladimir Leuyacc
                    Xd aún no me dice :3
                  • Miguel Jaimes
                    Porque no usas Jquery ? var Total= $('#Libros_total).val()-$('#Prestamo_cantidad).val();  $('#Libros_total).val(Total);
                  • Angelika Hernandez
                    Disculpa Oscar Cortez  en relacion alo que me comentaste en mi controlador y modelo no tengo que agregar  codigo???
                  • Oscar Cortez
                    Si. Bueno. Despues de crear tu base de datos bien relacionada. (Yo uso mysql workbench). Debes utilizar gii (generador de codigo de yii). Creas el modelo y si quieres tb las vistas (crud). Despues de eso ya es entenderle el código generado. Para mejorar la vista (frontend) podrias usar yiibooster (bootstrap 3 para yii). Las vistas y funcionalidad mejoran sobremanera.
                  • Vladimir Leuyacc
                    -.-

                • Miguel Prieto Ir a la Publicación
                  Me recomiendan de donde descargas temas/plantillas para Yii

                  • Ivan Salomon Ir a la Publicación
                    [APORTE] Para los que esten interesados en aprender o refrescar conocimientos en GIT (control de versiones) les recomiendo esta web. Creo que ninguno que este diseñando una app sea en Yii o cualquier otro framework o lenguaje, debe dejar de utilizar un control de versiones.
                    Saludos Grupo
                    http://gitimmersion.com/
                    • Miguel Ángel Lucas Sánchez
                      ¡Tarea pendiente! Lo se Esteban, lo se...
                    • Esteban Adrián P
                      Así es Miguel, y te urge aprenderlo
                    • Miguel Ángel Lucas Sánchez
                      :(
                    • Esteban Adrián P
                      No seas "corima" >_<
                    • Max Blammo
                      Actualmente tengo implementado 1 servidor con #gitlab para llevar todos los desarrollos adelante , es simple de implementar y configurar. Ademas tiene su propio sistema de backups. Recomendado! Se puede correr en vps o en una pc con  1GB de Ram minimo.. para trabajar tranquilo.
                    • Esteban Adrián P
                      DEMASIADO 1gb para un server multipropósito (estoy luchando con Zentyal, voluntarios bienvenidos y ya es OFF TOPIC)
                    • Max Blammo
                      Yo lo he corrido con 512.. pero si los repo son grandes..  o los usuarios  muchos.. mejor 1gb.. aunque todo depende de como lo configures.. yo lo tunee al nginx y fue bien con menos ram.. Zentyal.. mmm.. Si es para Dev, tal vez te convenga zpanel, Yo tengo un Server para cada cosa.. Un Gitlab para los repo, un zPanel para las web en desarrollo con dominio propio.dev en Lan, uno para backups de MySQL que se sincroniza por las dudas de que caiga dev..  Je..y bue.. Es la enfermedad de tener Servers... Todo respaldado al mango
                    • Esteban Adrián P
                      Para no intoxicar, te respondo por privado, Gracias Max :)
                    • Ivan Salomon
                      Esteban Adrián P ya vamos a ver eso... los tiempos son tiranos
                    • Esteban Adrián P
                      Calma Ivan, :D
                    • Christian Salazar
                      complementen esta lectura por la existente en el foro, hay un articulo ahi que esteban editó (o hizo traducción de) acerca de una publicación qu conseguimos anteriormene,
                    • Ivan Salomon
                      Hoy lei unos tutos de Kurt Klement que hasta hace git version de sus DB. Me parecio excelente idea...
                    • Christian Salazar
                      de los scripts de la db si
                    • Ivan Salomon
                      Y tambien de la DB en si. La carpeta DATA!!! claro en local, sino seria un desperdicio.... Para desarrollo me parecio bueno.
                    • Esteban Adrián P
                      Gracias Christian!, ya me había olvidado... :)
                      http://www.yiiframeworkenespanol.org/foro/showthread.php?tid=144&highlight=GIT

                  • Aracelly Collazos Ir a la Publicación
                    Hola.... necesito mostrar un dialogo de confirmación al hacer click sobre el botón de un cgridview dependiendo de la respuesta se realiza o no la acción correspondiente, esto se logra con la siguiente línea: 
                    
                    'click'=>'function(){return(confirm("Esta seguro de realizar esta acción?"));}',
                    
                    Mi problema es que quiero que la apariencia del dialogo se muestre en un modal, para esto pensé que podía utilizar  esta línea: 
                    
                    'click'=>'function(){return(bootbox.confirm("Esta seguro de realizar esta acción?"));}',
                    
                    pero no funciona, ya verifique que el problema no esta en la extensión del bootbox,esta funciona adecuadamente, que puedo hacer?? ayuda por favor!!
                    • Roberto Cruz
                      Pues si no te gusta la forma el confirm de javascript, puedes usar una ventana modal de bootstrap
                    • Christian Salazar
                      este ejemplo con fancybox fue diseñado para otra cosa pero tiene lo que necesitas para guiarte. lo de bootstrap dialogbox tambien es valido, esta es solo otra via.
                      
                      http://yiiframeworkenespanol.com/wiki/index.php?title=CrugeFancybox

                  • Recursos Formacion Ir a la Publicación

                    • James Wilmbdon Ir a la Publicación
                      Yii Framework Development – Key Features That You Should Check-out
                      http://goo.gl/stpuHa

                      • Figueroa Sosa Ir a la Publicación
                        Hola  tengo una duda ...no se como puedo configurar en un formulario la fecha y ahora para que me aparezca automáticamente y sea la misma del ordenador al hacer la captura de un registro en el sistema ... agradecería sus opiniones..Gracias!!
                        • Andrés Ubilla
                          yo utilizo esta función en mis proyectos:
                          
                          public static function getFechaHoraActualDateTime() {
                                  date_default_timezone_set(America/Santiago);
                                  return date("Y-m-d H:i:s");
                              }
                          
                          así la llamas desde donde necesites y te retorna la fecha y hora actual de la zona horaria que le definas (en mi caso, "America/Santiago").
                        • Andrés Ubilla
                          eso retorna la fecha en formato datetime para grabarla en la db, ej: 2014-09-02 12:19:45
                        • Figueroa Sosa
                          Agradezco tu opinión...
                        • Figueroa Sosa
                          Andrés Ubilla  lo que pasa es que quiero que la fecha me aparesca en el formulario y k al guardar un registro me lo almacene en la BD
                        • Nelson Manuel Nery Ocando
                          lo puedes hacer directamente desde el controlador
                        • Nelson Manuel Nery Ocando
                          en la action create usando la funcion creada en el primero comentario le dices $model->fecha =  Modelo::getFechaHoraActualDateTime();
                        • Nelson Manuel Nery Ocando
                          nota: a la funcion de la fecha le faltan las comillas
                        • Nelson Manuel Nery Ocando
                          date_default_timezone_set('America/Santiago');
                        • Carlos Belisario
                          el deber ser es que lo hagas en el evento beforeSave en tu modelo, el mismo es un evento que se dispara al momento de guardar o actualizar un registro dentro por medio de la aplicación
                        • Figueroa Sosa
                          Gracias por sus comentarios ;)
                        • Andrés Ubilla
                          creo que falta información, primero, es necesario mostrar la fecha y hora en el formulario?, si la respuesta es si, entonces en el controlador haces lo siguiente:
                          
                          $model->fechaHora = Util::getFechaHoraActualDateTime(); (debes cambiar los nombres correspondientes, y asumiendo que la función está en una clase que se llama Util). Ahora, si la respuesta es no, en el beforeSave de tu modelo, haces lo mismo $this->fechaHora = Util::getFechaHoraActualDateTime();
                          
                          con eso, se guarda en la db.
                        • Dan Royus
                          Siempre he pensado que MySql trae estas herramientas para algo, es decir, tipo de dato TIMESTAMP y DEFAULT CURRENT_TIMESTAMP para el create y DEFAULT '0000-00-00 00:00:00" ON UPDATE CURRENT_TIMESTAMP
                          
                          Que ventajas tiene esto? Que tu base de datos siempre tiene la hora exacta de actualización y no es necesario hacer absolutamente nada en los modelos, ni en beforeSave.
                          
                          Algunos desarrolladores prefieren hacerlo a malo, eso si, por cuestiones de internacionalización yo creo que siempre es mejor que guardes un timestamp, y que si luego quieres mostrar la hora, lo conviertas a la zona horaria correspondiente, que puede ser dependiente del usuario, por ejemplo. También es cierto que todos los servicios terceros, al menos los serios, usan timestamp para gestionar temas de sincronización, así que por esto también es recomendable usar este tipo.
                          
                          Espero que te sirva

                      • Roy Ivan Palomino Aldazabal Ir a la Publicación
                        Hola a todos. quisiera una opinión soy nuevo construyendo un sistema en general. Estoy haciendo un trabajo serio con yii, se trata de un sistema de inscripción por Internet para una universidad, el problema es que el login se autentifica con la tabla prospecto lo cual va contener el "numero" y la "clave" de cada prospecto que se va vender y con ello los postulantes iniciar sesión.. ahora quiero hacer también que pueda acceder el administrador con un login. la pregunta seria construir una nueva tabla que contenga user y password o tan solo utilizar la tabla prospecto .Cual seria su recomendación agradecería su respuesta a todos gracias.
                        • Freddy Antonio Cruz U
                          A mi opinión lo mejor es que separes las tablas esto pensando también en un posible cambio de contraseña o bloqueo por intento fallidos.
                        • Marco A. Feregrino
                          Mejor asigna roles a tus usuarios para que puedas identificar qué rol es y dependiendo del rol haces el re direccionamiento. Yii permite hacer que en el controlador des permisos a cada usuario negando ciertos actions. Espero haya sido de ayuda. Saludos
                        • Albert Medina
                          asigna roles y controladores dependiendo del caso.. recuerda que siempre debe haber un administrado superior(programador) que tiene acceso a todo.
                        • Lo De Yepes Era Gol
                          normalmente uso yii con una sola tabla "usuario" esto le permitira trabajar mejor con el authmanager lo cual hace el trabajo con yii mas rapido y mejor, si los separas no funcionaria ya que los permisos se asignan dependiendo del idusuario. mejor dividelos en roles, ahora lo feo seria que un administrador entre con un numero? ese numero que seria un numero de inscripcion ?
                        • Roy Ivan Palomino Aldazabal
                          Les agradezco mucho su ayuda, entonces seria conveniente guardar todos los datos en la tabla prospecto y utilizar un numero y clave. que son atributos de la tabla..  para mas seguridad estaba pensando en encriptar la clave..  la tabla prospecto en si contiene 3 atributos (numero char(7), clave char(4), estado varchar(30)), creo q tendría que aumentar  el rango del char en clave para poder encriptar...
                        • Roy Ivan Palomino Aldazabal
                          Es necesario hacer un login para el administrador siempre?? o tal vez el administra el servidor se encarga del mantenimiento a través de la SGBD?
                        • Marco A. Feregrino
                          Puedes usar una misma tabla y para cuando haga login primero identificar el rol por ejemplo if rol ==1 es admin si es 0 entonces usuario estándar después el proceso normal de logueo. Así usarías la misma interfaz y cambias el re direccionamiento según el rol.
                        • Laro Man
                          Te conviene usar la extensión rights para manejar los permisos. Los usuarios en una misma tabla. Yo los indices los manejaria en (int) para que sea mas rapida la consulta.

                      • Christian Salazar Ir a la Publicación
                        [AYUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]
                        
                        por favor...no es un chat.   
                        "hola, tengo un problema X cuando hago Y..alguien puede ayudarme ?"
                        aparte de proveer log (no fotos, texto, para eso es un stacktrace, para mostrar "que cosa llevó al error indicado")...tomarle una foto al error o al stacktrace es como tomar la foto a la pulga y no a la picada.
                        • Ivan Salomon
                          Si puedo en algo aca estoy! cuatro ojos ven mas que dos.
                        • Christian Salazar
                          si...es un post repetido. pero hay mas de 800 nuevos miembros..
                        • Ivan Salomon
                          :D
                        • Carlos Belisario
                          yo necesito que mi aplicación tire cohetes señor christian usted puede ayudarme? XD
                        • Carlos Belisario
                          lo siento no pude contenerme :D
                        • Christian Salazar
                          post de prueba. 98912
                        • Christian Salazar
                          post de prueba. 9891891

                      • Ivan Salomon Ir a la Publicación
                        [PEQUEÑO APORTE] Como algunos sabrán soy nuevo en yii mas no en materia de seguridad informática (mas de 20 años) y leo mucho en el grupo el uso indiscriminado de extensiones. Por un lado genera mas "Carga" y por el otro genera potenciales agujero de seguridad. Ahora la pregunta: Cuando incluyen extensiones,  leen el codigo de las mismas para saber si es segura? Si tiene alguna shell? Se las dejo para pensar. Abrazos y buen domingo.
                        • Juvenal Claros
                          la verdad nunca me pregunte en cuanto a seguridad que tienen las entensiones de yii
                        • Christian Salazar
                          la seguridad de las "extensiones de yii" no existe.
                          eso es como preguntar "es seguro php ?"...si y no. depende de como le metan mano.....ahora eso si aclaro:
                          
                          "necesito sumar 1+1" => instalo una extension,
                          "ahora necesito...imprimir una etiqueta" => instalo una extension,
                          "ahora necesito otra" => instalo otra extension,
                          
                          y asi persé, 50 extensiones....
                          
                          que sucede si un maldito hijo de puta les instala un backdoor en la extension ? se han preguntado ?  estan sus apps seguras por el hecho de abusar de las extensiones ???
                          
                          sucede solo en Yii ?  NO. suecede en todos lados. wordpress esta plagado de plugins infectados con troyanos, backdoors, intrusos de servidor etc.
                          
                          esa es la razon #1 para no instalar cualquier extension/plugin en yii o en cualquier lado.
                          
                          ACLARO QUE:
                          
                          Yii Framework provee la fuerza natural para que tu app por defecto no sea interferible por terceros, ahora, si el dev NO LEE etc etc etc etc etc.....pues bien su aplicacion será vulnerable, en yii, en php, en C, en java en cualquier lenguaje.
                        • Christian Salazar
                          para infectar una extension:
                          basta con lograr un punto de ejecucion:
                          
                          1. en config, declaracion de la extension la ovejita de dios:
                          
                          'componens'=>array)
                            'sumador'=>array(
                                'class=>'"app.extension.extensionQueSuma1mas1PaFlojos"
                             )
                          ),
                          
                          2. uso en cualquier parte:
                          
                          $dos = Yii::app()->sumador(1,1);
                          
                          HAsta ahi, la ovejita de dios les ha dado un sumador...pero el dev le ha dado permiso de acceso a su servidor (server side)...ahi el sumador puede hacer cualquier cosa oculta como:
                          
                          function sumador($a, $b){
                              return $a+$this->cleaninput($b);
                          }
                          
                          ...y debajo,
                          private function cleaninput($x){  // inofensiva...limpia el input
                              require("algunacosa.php");
                              return xxx_algunacosa($x);
                          }
                          
                          // agunacosa.php, oculta en la extension posiblemente, o hardwired
                          function xxx_algunacosa(){
                              aqui puedo instalar un action en site/controller, para poder llamarlo desde afuera sin que nadie sepa, y decirle a ese action que devuelva el contenido de phpinfo();
                             y nadie vio...y nadie supo, porque podria ofuscar el contenido para hacerlo paracer inofensivo.
                          }
                        • Ivan Salomon
                          Exacto!!
                        • Diego Toala
                          De acuerdo con Christian
                        • Ivan Salomon
                          Diego Toala Christian extendió mi explicación. Hablamos todos de los mismo. Saludos.

                      • Andres Restrepo Ir a la Publicación
                        Hola, tengo una tabla que se mustra en el gridview pero he tenido la necesidad se adicionar una columna nueva que no hace parte del modelo, esta nueva columna calcula unos valores y su metodo esta en el modelo, el problema es que no he pidido ordenar el gridview por el valor de esta columna dado que me retorna varios valores y lo que se deseo es que me ordene esa columna por los valores diferentes a cero algo como un order by pero dado que es una columna nueva que no se hace parte del modelo no logro que me ordene esos datos. Gracias por cualquier ayuda.
                        • Andrés Ubilla
                          Tienes que agregar esa "columna" al modelo como un atributo público

                      • Leidy Montaño Ir a la Publicación
                        hola alguien puede ayudarme con el diseño de una base de datos para un sistema de inventario
                        • Alejandro Benavides
                          https://www.theseus.fi/bitstream/handle/10024/70591/thesis.pdf?sequence=1
                        • Botia Julian
                          http://www.databaseanswers.org/data_models/inventory_and_sales/index.htm

                      • Jean Carlos Leon Vega Ir a la Publicación
                        Buenas noches amigos quisiera saber que software utilizan para modelar a parte de mysql workbench. Estoy trabajando en un sistema donde hay cerca de 100 tablas y en workbench se vuelve algo engorroso tratar de modificarlo porque las relaciones se cruzan unas sobre otras y es dificil analizarlo a simple vista. Quisiera saber si hay algun software donde se pueda trabajar algo mas organizado
                        • Juan Cortes
                          valentina studio, heidisql, dbeaver los que yo he utilizado heidisql es para windows los demas son multiplataforma
                        • Juan Cortes
                          a y son libres
                        • Rafael J Torres
                          En mi caso uso Visual Paradigm hace mucho use las que Juan menciona pero no recuerdo haber vista la posibilidad de dividir tu diseño en N diagramas donde todas corresponde a una misma base de datos.
                        • Christian Salazar
                          con workbench se puede hacer eso. y es muy bueno. layouts. obviamente no vamos a meter 100 tablas en un diagrama...? o si ? que sentido tiene ?  examinamos sistemas por secciones, no todo.
                        • Rafael J Torres
                          Acabo de ver y los Layouts no te segmentan en N diagramas como el Paradigm, lo cual es bastante útil en sistemas cuya BD tiene muchas tablas.
                        • Juan Sebastian Soto
                          Yo utilizo sqldesigner porque en el hosting que contraté no admite conexiones remotas al SQL. Por ende, lo cuelgo en una carpeta del hosting y lo manejo desde ahí.
                        • Christian Salazar
                          workbnch: quiza no lo haga igual que otros "bench", pero en workbench creas varios diagramas cada uno con solo las vistas o tablas requeridas, todos dentro del mismo proyecto.
                        • Rafael J Torres
                          PUes bueno es tu punto ;) Paradigm lo hace en un solo proyecto y muchisimas mas cosas a nivel de documentacion y modelado ;) el contra es pago pero tiene licencias web mensuales ajustada a las necesidades en el caso de ER con la basica basta, se puede pagar solo cuando necesites y mientras usar la comunitaria.
                        • Christian Salazar
                          voy al punto, para ver si yo entendi bien:  "la pregunta es acerca de como poder organizar mucho contenido en un gestor de tablas".  si quien pregunta dice (?) que está usando workbench, entonces le respondo:  workbench lo hace.....ahora, que el paradigm (pago) hace mas cosas y posiblemente mejores....es tema de otro post.  el punto aqui es: "lo hace o no ?" si.
                        • Rafael J Torres
                          Christian Salazar textualmente dice :"quisiera saber que software utilizan para modelar a parte de mysql workbench. Estoy trabajando en un sistema donde hay cerca de 100 tablas y en workbench se vuelve algo engorroso tratar de modificarlo porque las relaciones se cruzan unas sobre otras y es dificil analizarlo a simple vista", resumiendo --> "software utilizan para modelar a parte de mysql workbench" y corrigeme si no esta asi Jean Carlos Leon Vega, el argumento de las ventajas fue algo que dije en mi 3 respuesta ;)
                        • Christian Salazar
                          pero yendo a la pregunta, tras mi polémica: la respuesta sigue siendo:  workbench lo hace. y bien. solo que si pretenden meter las 100 tablas en un mismo diagrama es equivalente a tomar un libro, borrarle los capitulos y pegar una hoja tras otra enrollandolas sobre un tubo....(y si entendí Rafael J Torres).

                      • Josh Zarate Parker Ir a la Publicación
                        [Consulta] alguien a trabajado en la integracion de google analytics ya sea con yii o php nativo les agradeceria una ayudadita
                        • Manuel Villafañe
                          google analytics es un simple script de javascript que el mismo te da lo pegas en el main de tu template y listo
                        • Josh Zarate Parker
                          bueno creo ke necesito ser mas especifico no solo kiero el script de seguimiento necesito hacer interaccion con la api de analytics
                        • Manuel Villafañe
                          como que ?
                        • Josh Zarate Parker
                          kiero integrar en mi dashboard graficas que da el analytics
                        • Manuel Villafañe
                          ni idea toca buscar como
                        • Josh Zarate Parker
                          jajajajaja no crees ke eso ya lo hice cuando pones una pregunta es por ke ya buscaste y no das con el clavo de otra forma pues todos te pondrian megor busca en google
                        • Manuel Villafañe
                          jaja es asi :P si consigo algo lo comento
                        • Manuel Villafañe
                          al parecer eso puede ser revisalo a ver http://blog.crazyegg.com/2013/03/25/build-google-analytics-dashboard/
                        • Josh Zarate Parker
                          jajajaja esa integracion necesita de un puente en otra api de google
                        • Max Blammo
                          Lo que yo hice para acelerar el proceso en ese tema fue tomar un plugin de WP , readaptarlo a mi necesidad y convertirlo en extensión de Yii. Puedes tomar los de WP como ejemplo de código y así te será más sencillo el pensar como ...

                      • Fernando Ochoa Ir a la Publicación
                        Que tal todos, buenas noches... estoy desarrollando un proyecto y quisiera incluir un mapa de google pero en el que pueda agregar un marcador, y poder saber las coordenadas para almacenarlas para cuando se revise ese item, aparezca el mapa con el marcador.... alguien tiene una idea de como podria lograr esto? se los agradeceria mucho ^_^
                        • Jesús Peña
                          no se si exista alguna extension de Yii para esto, me imagino que si, pero yo en lo personal me toco manejar algo asi, pero lo hice con la Api de Google Maps, todo JavaScript
                        • Fernando Ochoa
                          y sera q me puedes compartir como lo lograste?
                        • Jesús Peña
                          en esta direccion esta lo que alcance a hacer, en este mapa aparece una marca por defecto, pero si tu das click en cualquier lugar del mapa se crea una marca mas la cual puedes arrastrar hacia cualquier lugar del mapa, al arrastrarla y soltarla en la consola del navegador aparece la informacion referente a la marca. espero te sirva amigo.  http://jesusp.net/Gmaps/
                        • Jesús Peña
                          de hecho si activas la geolocalizacion, la primera marca en el mapa debe aparecer justo en tu casa!.
                        • Fernando Ochoa
                          (y) Gracias, lo revisare a ver si lo puedo implementar ^_^ Gracias
                        • Jesús Peña
                          no hay de que, a sus ordenes!. :D
                        • Botia Julian
                          https://developers.google.com/maps/documentation/javascript/examples/marker-remove
                        • Botia Julian
                          La idea es q en la función addmarker() esta guardando los markers en un vector, debes buscar la forma de setear eso marker o las location a un atributo de tu modelo
                        • Edgar Alfonso Herrera Salazar
                          Si se puede, tengo una aplicación que hace exactamente lo que planteas. Es una aplicación para una inmobiliaria.
                          Utilicé esta librería 
                          http://biostall.com/codeigniter-google-maps-v3-api-library
                        • Fernando Ochoa
                          Muchas gracias
                        • Edgar Alfonso Herrera Salazar
                          Perdón, creo que me confundí de grupo, publique una librería de CI
                        • Fernando Ochoa
                          O.o los ejemplos se ven muy buenos y es justo lo q necesito !!!! :(
                        • Botia Julian
                          en si cual es la dificultad que tienes?
                        • Christian Salazar
                          este articulo lo escribi hace un tiempo (abajo). permite insertar un mapa usando el API ESTATICA de google maps.  Hay dos apis. el api estatica y la dinamica (mas compleja y permite mas cosas). La estatica permite mostrar un mapa y uno o varios cursores. Es "estatica" porque muestra un JPG (a diferencia de la dinamica que da un componente navegable).
                          http://www.yiiframework.com/wiki/475/using-google-maps-in-yii-applications-via-jquery/
                        • Fernando Ochoa
                          Gracias a todos por su ayuda, aqui encontre esta extension, funciona de maravilla, por si alguien la necesita o la puede llegar  a  necesitar
                          
                          http://www.yiiframework.com/extension/coordinatepicker
                        • Jean Carlos Leon Vega
                          Jquery location picker
                        • Ivan Salomon
                          Egmap para mi es la mejor lejos.
                        • Christian Salazar
                          es que hay un punto de decisión que no veo publicado en tu post:
                          
                          1. " QUE QUIERES HACER ?"
                          
                          a) publicar una direccion en un mapa, un punto o dos y listo ? respuesta: static maps. y te basta y sobra con la que te di, sin desperdiciar recursos, ni usar extensiones engorrosas: rifle matando mosca.
                          
                          b) interactuar con el mapa ? calculo de coordenadas radiales-geograficas, matematicas avanzadas de posicionamiento ? entonces api dinamica...y quiza la extension que te dan sirva.
                          
                          pero todo pasa por saber que quieres hacer.
                        • Christian Salazar
                          y lo digo con experiencia vasta en el uso de mapas, posicionamientos, uso extensivo de ambas apis.  la mayoria se va al api dinamica para mostrar una foto y un icono....desperdicio de recursos.
                        • Fernando Ochoa
                          la cuestion era buscar en el mapa un punto en especifico y al marcarlo, tomar las coordenadas de latitud y longitud y luego pasarlas a 2 cuadros para ser almacenadas en la base de datos junto a otros datos, y logre hacer exactamente eso con coordinatepicker
                        • Christian Salazar
                          Api dinamica. Con js. Y no mas de 20 lineas de codigo. Sin desperdicio de recursos ni extensionrd.
                        • Fernando Ochoa
                          (y)
                        • Christian Salazar
                          vere si te consigo un extracto para q no uses extensiones,
                        • Fernando Ochoa
                          OK GRX
                        • Christian Salazar
                          mira esto, es uso de api dinamica desde js, 
                          
                          Esto no es un ejemplo funcional de copy/paste, en cambio te da una guia de cómo se hace para que desde jquery se acceda al api dinamica.  
                          
                          debes estudiar el api de google, es muy sencilla. busca en google, no en fuentes de terceros como el de la extension.
                          
                          que hace este ejemplo:  con jquery hago una extension para que capture un div y le inserte dentro un mapa centrado en una posicion y le incluya ciertos elementos en ciertas posiciones.
                          
                          $.fn.pwhmap = function(){
                           $(this).each(function(){
                           var widget = $(this);
                           var icon_url = widget.find('img').attr('src');
                           var map_id = widget.attr('id');
                           var areaid = widget.attr('areaid');
                           var cityname = widget.attr('cityname');
                           var statecode = widget.attr('statecode');
                           var mapCenter = new google.maps.LatLng(28.53834, -81.37924);
                           var gc = new google.maps.Geocoder();
                           var homeicon = {
                           url: icon_url,
                           size: new google.maps.Size(24,24),
                           origin: new google.maps.Point(0,0),
                           anchor: new google.maps.Point(0,0)
                           }
                           map = new google.maps.Map(document.getElementById(map_id), {
                             'zoom': 7,
                             'center': mapCenter,
                             'mapTypeId': google.maps.MapTypeId.ROADMAP
                           });
                           $.ajax({ url: pwh_ajax_object.ajaxurl ,type: 'post', nocache: true,
                           data: { action: 'property_map' ,areaid: areaid, cityname: cityname, 
                           statecode: statecode  },
                           success: function(list){
                           $.each(list, function(i, p){
                          // obtuve una lista de cosas via ajax, cada una la posiciono en el mapa,
                          // _pwh_add_property_to_map es una funcion privada que no viene
                          // al caso, pero que presenta cosas en el mapa creado mas arriba
                           _pwh_add_property_to_map(i,map,gc,p,homeicon,_pwh_globalopts); 
                           });
                           },error: function(e){
                           widget.html(e.responseText);
                           }
                           }); 
                           });
                           }

                      • Richard Ob Ir a la Publicación
                        Un magazine está haciendo una encuesta de popularidad de los Frameworks en PHP, en donde también está Yii :) ... http://phpmagazin.de/polls/php-frameworks-quickvote-175382
                        • Pablo Arciniega
                          Yii va ganando por mucho
                        • Arley Romero
                          Listo mi voto
                        • Andres Restrepo
                          deje mi voto (Y)