Laravel 5.4. API. Rutas de la aplicación

Continuemos.

Ahora es el momento de preparar las rutas de la aplicación que van a hacer que la magia funcione.

Para ello, en Laravel disponemos de los archivos situados en la carpeta “routes”, que de momento los que nos interesan son los archivos “api.php” y “web.php”. La diferencia entre cada uno de ellos es que la ruta de acceso será diferente, para la api todas las rutas incluirán al inicio la ruta “/api/” y los de web no la incluirán.

Dicho esto, y para separar mejor las rutas de la api y las diferentes modifcaciones, voy a tomar la costumbre de nombrar las llamadas con la versión de la API que utilice, “v1”, “v2”, etc… así será más sencillo luego a la hora de documentarlo.

Bien, para incluir todas las rutas del manejo de usuarios creadas en el anterior post, hemos de incluir en el archivo “web.php” lo siguiente:

Y modificando o añadiendo las rutas que queramos podremos ir montando nuestra api con los modulos necesarios.

Laravel 5.4: Comenzando API. CRUD Usuarios

Continuamos con este “cursillo – aprendizaje” sobre crear una aplicación con Laravel y Angular.

Lo primero con lo que vamos a comenzar es con las operaciones CRUD básicas para los usuarios de la aplicación.

Lo primero será crear el controlador que usaremos para estas funciones, para lo que será necesario ejecutar el siguiente comando:

Con el modificador  –resource conseguiremos que nos cree el controlador con un esqueleto basico de todas las funciones básicas para el manejo de los usuarios (aparte de las CRUD, las necesarias para manejar las vistas y formularios relacionados con la creación, update, etc).

Una vez conseguido esto, editaremos el archivo routes\web.php y añadiremos lo siguiente:

(si, de momento lo vamos a meter en la ruta web, para irlo probando, más adelante lo ingresaremos en una api con autenticación).

Con este código conseguimos que se reconozcan las rutas necesarias para las operaciones. Como en este caso estamos creando una api que no tendrá “vistas” (formularios o webs que ver) podemos obviar rutas y decirle que únicamente utilice las relativas al CRUD.

También hemos de crear el modelo. En este momento voy a ir creando modelos (aunque se pueden usar factorías y demás opciones, eso ya lo dejo de momento a la investigación de cada uno, o para más adelante). Para ello el comando es

Nota: un apunte, si ejecutamos directamente el comando de crear modelo con el modificador resource, como en el controlador, ya nos creara el modelo y el controlador enlazados (lo cual nos agilizará un poco estos pasos)

Y ahora hay que meterse en harina.

Con el siguiente comando podemos ver una lista de las rutas que están incluidas en este momento. Así veremos los métodos y opciones que se van a utilizar para las operaciones.

Y ahora se tratará de ir modificando las funciones en el controlador y o el modelo para ir adaptando el control de usuarios.

Dejo por ejemplo el código (sin finalizar) de la función de guardar un usuario

Tras modificar todas las funciones, estaremos listos para el siguiente paso Smile

Laravel 5.4 y Angular 4. Base de datos.

Continuamos con esta serie de entradas de un proyecto con Laravel.

Dado que voy a utilizar Laravel como backend y voy a generar una API REST con este framework, es hora de prepararlo.

Así que vamos con ello.

Preparando la base de datos.

Lo primero de todo proyecto es preparar la base de datos.

En estas lides nos va a resultar muy útil el sistema de «migraciones» (migrates) y «semillas» (seeds) de Laravel.
No me voy a detener mucho tiempo en definir que son, para eso recomiendo mirar la documentación.

User Migrate.

Para empezar, al menos en este proyecto, modificaremos el archivo «2014_10_12_000000_create_users_table.php», que es un archivo de migración que se copia al iniciar el proyecto con composer para generar la tabla de usuarios, y ya que está, para que complicarnos.
No pongo todos los campos que voy a utilizar en la vase de datos, únicamente alguno o los no relevantes.
Todas las migraciones tienen dos funciones, la función up() y la down(), que son las acciones al crear la base de datos o cuando se hace algún rollback, respectivamente. En la función up() incluiremos lo siguiente:

Levels Migrate

En mi caso, y para la aplicación, voy a incluir un sistema de niveles, por lo que es necesario una tabla que guarde los niveles a utilizar.
Para crear el migrate que se encargará de crear la base de datos.

Una vez creado, le generaremos los campos necesarios (idlevel y name) en el código de la misma manera que para el usuario.

En este caso, lo más recomendable es insertar algunas filas, para lo que será necesario que utilicemos los seeders de Laravel para rellenar esos huecos.

Para empezar, crearemos un Seeder, que se guardará en la carpeta Database/seeds

Una vez creado, al entrar a modificarlo observaremos que únicamente tiene la función run(), donde se ejecutarán los procesos que rellenaran las filas de la tabla.

Aquí en este caso, voy a incluir los registros necesarios (ya que mi plan para esta tabla es un numero finito y relativamente asequible de mantener), aunque se puede automatizar con Factorias. Así que, de momento, incluiré el siguiente código:

Nota: que no se os olvide incluir el uso de Carbon en esta clase, porque sino no funcionará. Añadid

al inicio del archivo, en la sección de uses.

Una vez generado el archivo del seed, es necesario indicar que se ejecutará. Para ello, lo primero es modificar el archivo «App\Database\seeds\DatabaseSeeder.php», en el cual hay que añadir la clase seed que acabamos de crear, así que dentro de la función run de este archivo incluiremos una línea por cada seeder que queramos ejecutar:

Una vez hecho todo esto, para ejecutar estos seeds hay tres formas principales:

O bien ejecutarlo cuando se hace un migrate:refresh (explicado debajo).

Utilizando migrates y seeds

Ahora es el momento de hacer que Laravel ejecute estas migraciones y rellenos de datos.

Para ello, el comando a ejecutar es :

Para que se ejecuten los seeds es necesario ejecutar el siguiente:

Pero si quereis regenerar la base de datos completa e incluir los cambios, lo mejor es ejecutar:

Esto hará que se reinicie todos los campos y migraciones de la base de datos.

Nota: es posible que os dé un error, en estos casos antes del migrate:refresh o de ejecutar los seeds, es recomendable ejecutar lo siguiente:

Para que se regenere el árbol de clases que utilizará luego artisan.

Conclusión

De esta forma, y tras generar todos los migrates y seeds necesarios para todos los campos y tablas de la base de datos que vaya a utilizar nuestra aplicación, estaremos preparados para poder empezar a meternos en harina para generar las rutas, controladores, modelos, etc, que va a necesitar nuestra aplicación.

Qué seguiremos con ello en el siguiente capítulo.

Gracias por seguir hasta aquí 😉

 

 

Laravel 5.4 y Angular 4. Inicio.

Bienvenidos.

Vamos a comenzar el desarrollo de una aplicación con Laravel 5.4 y Angular 4.

En esta entrada comenzaremos por instalar Laravel, corregirlo para poder ser utilizado por el servidor Virtualmin y configuraremos el IIS para que acepte toda esta estructura. También instalaremos angular 4 para poder hacer el desarrollo de la parte frontend.

Tras mucho bucear por internet y por tutoriales y preguntas en stackoverflow y sitios similares, al final voy a optar por un entorno separado. La parte frontend (con AngularJS) es la que irá en la dirección principal, y la parte backend (con Laravel) se encontrará en un subdominio «api». Así cada proyecto está separado y no se pegan entre ellos y simplifica los cambios y despliegues de cada parte.

Instalando Laravel 5.4.

Lo más sencillo (al menos en mi caso) es utilizar Composer para que se instale laravel en el directorio que voy a utilizar para desarrollar.

Lo primero es elegir la carpeta dónde se va a desarrollar.

Por lo tanto, en una terminal, dentro de la carpeta del proyecto, comenzaremos con la instalación de Laravel.

Con lo que se nos instalará la base del framework.

Una vez conseguido, voy a seguir las instrucciones que ya detallé aquí para tener el entorno listo para virtualmin, y que en resumidas cuentas vienen a ser:

  • Mover la carpeta «public» dentro de «nombre_laravel» a la raíz de nuestro proyecto.
  • Renombrar «public» a «public_html» dentro de su nueva ubicación.
  • Cambiar las líneas 22 y 36 de «public_html/index.php».

En mi caso han quedado así (sí, he puesto «laravel» a la carpeta de Laravel, original 😉 ):

Una vez realizado todo esto, procedo a subirlo al servidor IIS de pruebas, para lo cual sigo los siguientes pasos:
  • Tener una carpeta para el proyecto.
  • Copiar las carpetas public_html y laravel a la carpeta del proyecto dentro del servidor IIS (se acepta el método preferido de cada uno)
  • Importante: Asegurarse de que el usuario IUSR tiene control total (al menos de momento para desarrollar) en la carpeta del proyecto y todos sus archivos y carpetas dependientes.

  • Crear un nuevo sitio en IIS que apunte a la carpeta «public_html» dentro de nuestro proyecto.
  • Probar en el navegador.

Si todo ha ido bien tendremos instalado Laravel listo para comenzar.

Para desplegarlo en el sitio remoto (con virtualmin y apache), será necesario subir por ftp las dos carpetas, laravel y public_html a la raíz del subdominio donde se va a ejecutar.

Instalando Angular 4.

Ha llegado el momento de instalar la base de Angular 4 para comenzar a trabajar.

Para ello, y siguiendo con la terminal de VS code, lo mejor es seguir los siguientes pasos.

  • Asegurarse de que tenemos node instalado con «node -v».
  • Después ver si se tiene instalado el Angular-CLI con el comando «ng -v». De no ser así ejecutar «npm install -g @angular/cli» para instalarlo globalmente y que nos sirva para otros desarrollos.
  • Efectuar la instalación de una aplicación AngularJS con el comando «ng new web» (nombre para el proyecto original otra vez jeje).
  • al finalizar tendremos una estructura de carpetas parecida a la siguiente, en el ordenador de desarrollo.

Para probar que está en marcha, lo mejor es utilizar una nueva terminal de consola o powershell, y probar a arrancar angularjs con el comando «npm start» dentro de la carpeta «angular» de nuestro proyecto. Y acceder con un navegador a la url http://localhost:4200

Para poder probar esta primera instalación en el sitio remoto, será necesario seguir estos pasos:

  • Ejecutar en la carpeta de angular (web) el comando ng build –prod para que se generen y compilen las fuentes.
  • Esto creara un directorio «dist» dentro de la carpeta del proyecto de Angular.
  • Subir por ftp el contenido de la carpeta «dist» a la carpeta «public_html» del dominio remoto.
  • Probar en el sitio remoto.

Y con todo esto ya tendremos las dos herramientas funcionando y listas para comenzar.

He elegido esta separación de carpetas por dos motivos: Para poder enviar al servidor virtualmin lo necesario para los proyectos y que la parte privada siga funcionando correctamente, y para poder tener cada desarrollo totalmente separado, dado que utilizaré Laravel para formar la parte backend y angular para la parte frontend.

Nos vemos en la siguiente parte.

Iniciando un proyecto: Laravel 5.4 y Angular 4

Hola a todos.

Hoy voy a empezar una serie de entradas contando mi experiencia al tratar de combinar estas dos tecnologías.

He buceado mucho por internet buscando la manera de hacerlo y, sinceramente, no me ha quedado clara la forma al final. Así que me he decidido a ir contando lo que me ha ido ocurriendo al tratar de utilizar estas tecnologías.

Consideraciones.

  • Estoy aprendiendo a la vez que voy a ir publicando estas entradas, así que es probable que haya fallos o cosas que no funcionen del todo, por lo que todo comentario será bienvenido.
  • No habrá videos (carita triste), así que intentaré que las explicaciones estén lo suficientemente detalladas como para poder seguirlas sin problemas (y lo que me falte se puede comentar o imaginar y descubrir)
  • Voy a desarrollar con VS Code, sobre Windows 10, desplegar en pruebas en un Windows Server 2012 (IIS) y utilizaré un servidor Ubuntu con Virtualmin para el despliegue “a producción” (dado que es un proyecto personal, incluso este último servidor se podría considerar de “pre-producción” o “desarrollo”.
  • Voy a intentar estructurar cada parte como si fuera un curso, por lo que habrá varias entradas relacionadas, y aquí en esta entrada estará el índice de todas.
  • Para que todo funcione, seguiré las instrucciones de instalación de los sitios oficiales, o indicaré los post o sitios dónde he encontrado respuestas.
  • Para que todo funcione se supone que se ha seguido la instalación de:
  • La aplicación estará disponible, por lo que los avances (o desastres), se podrán ver ahí.
    (Actualización: de momento va a dejar de funcionar el dominio donde estaba alojada, estoy pensando dónde continuarlo, el trabajo y otras cuestiones no me han dejado continuar por ahora. Probablemente lo pase a un subdominio de este.)
  • De momento no voy a subir el código a repositorios como GitHub. Si que están bajo control de código git, pero alojados en mi propio servidor. No quiero hacer demasiados commits y push (elección personal).

Índice de temas:

Laravel.

  1. Instalando y configurando herramientas.
  2. Preparando la base de datos.
  3. Comenzando API. CRUD Usuarios.
  4. Rutas de la Aplicación.
  5. Securizando la API.
  6. Middlewares.
  7. CORS.

AngularJS.

  1. Instalando Angularjs.
  2. Añadiendo Jquery y Bootstrap.
  3. Modificando el menu superior.
  4. Cambiando los estilos de la app.
  5. Implementando login.
  6. Entornos.
  7. Cambiando el login para que funcione con la API.

Windows 8 Release Preview

Bueno, pues después ya de unos días usando el nuevo retoño de Microsoft, puedo empezar a dar opiniones sobre lo que me va surgiendo…

De momento iré desgranando los pasos que me he ido encontrando desde que empecé a instalarlo.

Lo primero comentar el equipo en el que esta instalado:

QuadCore Q6600, 4 GB Ram en módulos de 1 GB, Placa base Asus P5K Pro, Nvidia 8800 GT, Discos duros SATA y Grabadora DVD SATA (en los discos diré que hay ahora imagemismo 1 de 250 gigas y 3 de 80, todos SATA, Controladora de placa en modo normal, ni AHCI ni RAID). Para las configuraciones actuales, un equipo normalito tirando a modesto.

Instalación.

No presentare pantallazos al haber ya demasiados desperdigados por la red. Baste decir que es virtualmente idéntico al de Windows 7. Eso si, mi impresión es que fue considerablemente más rápido, en apenas 20 minutos estaba ya en la pantalla de encendido de usuario.

Integración a un dominio existente: fluida igual que Windows 7, y con el manejo debido al mismo, es decir, excelente. Huelga decir que no lo he probado sobre un Windows Server 2012, sino sobre un W2008 R2 Foundation.

Drivers, etc… El único que me esta chirriando es el de la impresora, una Epson SX110, el driver de digitalización lo ha cogido correctamente, pero el de impresión no puedo utilizar el de la marca, que utilizaba en Windows 7 porque todo el rato me dice que no es un controlador firmado y no me deja instalarlo… Tendré que investigar un poco mas como conseguirlo. Ya he intentado varias soluciones y nada, no se deja. Huelga decir que el mismo controlador, en un ordenador W7 unido al dominio si me dejaba instalarlo.

Interfaz.

Antes de ir diciendo lo que me gusta y lo que no me gusta de todo esto, os recomiendo leer este artículo de genbetadev. Lo suscribo prácticamente en su totalidad, por lo que escribir dos veces lo mismo no sería productivo.

Pero si voy a comentar varios detalles.

Uno de ellos el que podéis ver en la imagen, el gestor de copia de archivos… ya no salen chorrocientas ventanitas por todas las tareas de copiado del sistema, sino que salen todas organizadas y con una vista de datos, archivo y velocidad muy curiosa y visual, así como herramientas para poner esas copias de archivos en PAUSA (parecerá una tontería, pero tener que utilizar herramientas de terceros para algo tan simple chirriaba un poco la verdad).

Otro detalle que me ha gustado al menos de momento es el asunto de las “Charms" laterales. De momento el mayor uso que le he visto es poder tener el Messenger abierto (con la aplicación Mensajes) pero era algo que echaba de menos alguna vez, el hecho de poder estar atento a una conversación mientras sigo en el resto de la pantalla usando el resto de aplicaciones.

Ribbon en el explorador: se han escrito ríos de tinta ya sobre este tema, que si gusta, que si no gusta. ¿Mi opinión? Me gusta. Permite hacer cosas con mayor rapidez, y aun estoy en el proceso de adaptación (aun hago muchas cosas que permite Ribbon con el botón derecho del ratón, cuestión de costumbre…)

Fluidez, estabilidad, de momento la misma que tenia Windows 7, si que es verdad que, al menos con mi configuración hardware, parece que le sienta bien el cambio, es más estable y fluido (incluso siendo una beta).

Problemas.

No todo iba a ser jauja… y si, me he encontrado con algunos problemas, aunque más que del propio Windows, de algunas aplicaciones, y sobre todo hay una que chirria mucho que falle de esa forma en Windows 8 dada la alianza y compra de su empresa matriz por Microsoft.

Y el ganador es… SKYPE. Veamos señores de Skype, su aplicación falla mas que una escopeta de feria, consume los recursos a punta pala, y deja el sistema tonto la verdad. Si, es la ultimísima versión instalada y descargada desde sus servidores y me deja el uso de CPU para el proceso skype.exe a un 25% todo el rato (y a picos de más, es decir, que se coge uno de mis 4 núcleos para el solito) y eso sin conseguir hacer un login correcto.

Y no lo digo de broma, mirad, versión de Skype 5.9.0.115:

image

Conclusión.

Todo lo que voy a decir aquí esta basado en los días de uso que llevo, por lo que podrá haber opiniones a favor y en contra… Aún así, es bueno escucharlas todas y al que pueda le rebatiré y al que no le daré la razón.

– Fluidez del sistema: Si siguen por este camino muy buena.

– Posibilidades: cuando saquen los tablets arm con Windows 8, si funciona como debe funcionar y se integra como debe en la estructura de una empresa (Active Directory y demás) y viendo el ecosistema Windows Phone, incluso ahora con la versión 7, Microsoft se ha decidido a apostar por una plataforma total, mucho mas integrada y personalizable que otras soluciones, y perdónenme los “appleboys” ya que hablo sin haber tocado ni macs ni iphones ni ipads. Con la plataforma de Microsoft se podrá tener todo absolutamente conectado y la política de utilizar las cuentas de hotmail para poder entrar a los sistemas es una buena idea, integrándolo con todas las utilidades de Microsoft (Office Web Apps, Skydrive, etc…)

– Metro: Para el uso que le estoy dando yo (un menú de inicio a pantalla completa, básicamente), genial, tengo los accesos directos colocaditos en una sola pantalla y todos ordenados, mas información y programas en un sitio central. En cuanto a las aplicaciones Metro… a la Windows Store le falta rodaje, y sobre todo que vayan apareciendo las aplicaciones “estilo Metro” más importantes, Facebook, Twitter, no estaría mal poder usar Whatshapp o Viber o similares.

-Aplicaciones: Ahora mismo ninguna de las que utilizaba en Windows 7 no funciona en Windows 8, por lo que la transición al nuevo sistema ha sido como un formateo más.

– Antivirus: Windows 8 ya trae integrado un antivirus con Windows Defender. Para mi de momento y en lo que lo pruebo esta bien y me es suficiente, antes utilizaba soluciones gratuitas (Avira, Avast, AVG…) por lo que la diferencia es poca, aunque eso de tener las actualizaciones centralizadas en Windows Update Services mola… Guiño

Estrenando Samsung Omnia i900

Nuevo cambio de móvil… Si en estos meses con Orange he estado utilizando un HTC Hero, principalmente por culpa de los cabrones señores de Orange España, que no creo que saquen la actualización para sus terminales… ahora he vuelto a Movistar, y el terminal que me ha tocado en suerte es el Samsung Omnia i900.

Lo primero al verlo, la decepción… para ser un móvil de una cuenta de empresa… podían haber dado el Omnia II i8000, la verdad.

Dado que tengo otros terminales con los que poder salir del paso si fallaba algo, apliqué filosofía al asunto y empecé a bucear en busca de información y actualizaciones.

Y ante todo, agradecer a la gente de www.htcspain.com, y particularmente, en este caso, a Franlov, su rom es la que mejor me ha funcionado con diferencia… La mayoria me presentaban un “problemilla”, que no podía realizar videollamadas de forma sencilla. No digo que no se pueda, solo que a mi no me funcionó.

Y ahora a disfrutar del Omnia… y a ver si consigo actualizar la Hero.

WordPress no muestra los comentarios en las páginas…

Bueno, no podía ser de otra forma, me he encontrado con un fallo en el generador de plantillas de wordpress…

Tiene la malsana costumbre de que en el archivo “page.php” se le “olvida” meter una sección para que los comentarios se muestren si la página los tiene habilitados.

Menos mal que la solución es bastante simple:

  1. Antes de subir el tema al blog, editar el archivo “page.php” (con el bloc de notas mismo, o vuestro editor HTML favorito.
  2. localizar el fin del bucle de wordpress. En concreto una línea como esta: “php endwhile;”
  3. justo antes de esa linea insertar esta otra: “< ?php comments_template(); ?>”.
  4. Subir el tema.

Listo!. ya solo queda disfrutarlo.

Nuevo tema

Bien, como habreis observado, la apariencia de la página ha dado un giro radical.

Esto se debe a un programa, Artisteer, el cual permite generar plantillas para los principales CMS (WordPress, Joomla!, PHP-Nuke), para aplicaciones ASP.NET, páginas XHTML.

La verdad que lo estoy usando y es una gozada.

Ahora si que puedo hacer un diseño para algunos proyectos que tengo en mente sin que me haga falta un diseñador (al menos para ponerlos en marcha… jeje)

Misterios del ISA Server…

Bueno… Alguien me puede explicar porque no consigo hacer andar el Emule en ISA server si esta todo configurado y colocado según las instrucciones… y hace unos días funcionaba?….

Creo que la historia es con el cliente Firewall… pero no se exactamente porque… el emule esa en el propio pc que hace de ISA server… como no tenga que instalar tb el cliente ahí….

¿Alguien tiene alguna sugerencia?

Windows 7 RC

Bueno, pues aquí ando, probando la RC de Windows 7, descargada desde la propia Microsoft…

Aún habrá que esperar a ver que hacen con la versión final, pero de momento tiene una pinta estupenda.

Estoy probándolo en una maquina virtual con 1 giga de RAM y va muy bien… fluida, razonablemente estable, integrada al dominio de 2003 de forma rápida… ahora todo sería irle añadiendo los programas de uso habituales y ver que tal se porta.

También quiero probar el “modo XP” a ver que tal, pero en principio es algo que no me importa, ya que si lo veo muy necesario tiro de XP virtualizado y pista.

Incluso la UAC es menos molesta que la de vista en la configuración predeterminada.

En cuanto a drivers y hardware… mucho no puedo decir todavía, aunque es posible que en el próximo formateo del equipo instale directamente 7… según como salgan las pruebas.

escritorio-windows-7

Sincronización E-Groupware y Outlook (II)

Hola a tod@s de nuevo.

Esta entrada es una continuación de esta otra.

Retomando el tema, en los comentarios de la anterior entrada vi el caso de una persona que no ha conseguido ponerlo.

Segun comentaba, el apache esta bien configurado. Así que el problema puede venir de otro sitio.

Tal y como comento en la anterior entrada

Una de las formas de saber si tenemos bien configurado el servidor rpc.php en el sitio de egroupware es acceder directamente a la dirección //rpc.php»>http://<servidor>/<instalacion_egroupware>/rpc.php

Si la configuración de Apache y egroupware es correcta, nos saldrá un mensaje como este:

You should access this URL only with a SyncML enabled device

Si no nos saliera este mensaje, hay que revisar la configuración de E-groupware, para permitir la publicación, y la configuración de apache.

Bien, ahora voy a tomarme la licencia de reproducir la página de E-groupware sobre SyncML (el mecanismo para que todo esto funcione).

La página en cuestión es esta: http://www.egroupware.org/index.php?page_name=sync&wikipage=SyncMLInstallHowTo

SyncML should be working out of the box, when your webserver fulfills following requirements:

  • Apache Webserver (tested with Apache 1.3 and Apache 2.0)
  • PHP5(PHP4 does not work, but you can run php5 as a cgi and leave php4 as an apache module. see below)
  • Pear needs to be installed
  • egw-pear needs to be installed
  • eGroupWare 1.3 Beta 3 or better

You can verify that your server fulfills the requirements, be using the setup module of your eGroupWare installation.

Esto quiere indicar que el mecanismo no va a funcionar si no se cumplen totalmente los requisitos.

Por ejemplo uno de ellos es que PHP debe ser la versió´´´´´´´´´´´´´´´´´´´´´´´´n 5, no se admite la 4 (cuando, curiosamente, y aunque egroupware funcione correctamente con PHP4, muchos de los hosting, gratuitos y de pago, siguen usando php4)

Antes de comenzar con todo, y tal y como comentan en la pagina anterior:

eGroupWare

The SyncML server currently only works with PHP sessions. It will not work with DB sessions. This is a limitation of the current code and will be removed in the future release.
To verify that you configured everything correctly, just point your browser to http://example.org/egroupware/rpc.php. It will display you any errors detected.

Debido al codigo que se utiliza, unicamente se puede utilizar el sistema de SyncML si se utilizan las sesiones que crea php cuando se inicia sesión en un sitio, no utilizando las sesiones en base de datos.

Nos dirigimos a nuestra instalación de E-groupware, http://<servidor>/<egroupware>/setup/.

Nos loguearemos con el usuario y contraseñaa de instalación

Una vez dentro tendremos que ir a «Comprobar instalación«. Y fijarnos en lo que aparece.

 

Vale, yo no cumplo con todo al 100% pero puede servir como guía

Despues, sin salir de esta parte de setup, comprobaremos la configuración del sitio.

Una vez esta parte comprobada, en la administración de E-groupware hemos de comprobar si tenemos esto activado:

Y despues, tal y como comentaba en la actualización de la entrada anterior, habrá que acceder con el navegador a la direccion //rpc.php»>http://<servidor>/<egroupware>/rpc.php

Si todo ha ido bien saldrá el mensaje que se comenta en el principio de la entrada:

You should access this URL only with a SyncML enabled device

Y a partir de ahí configurar el cliente SyncML que vayamos a utilizar para sincronizar con egroupware.

Nota: Todo ha sido sacado principalmente de la página de egroupware y a base de tocar un poco en la configuración. Puede que no funcione a la primera.