Crea una app para umbraco con uMobile

uMobile es un paquete de umbraco que juntamente con una aplicación móvil da la posibilidad al desarrollador de llevar el contenido y la funcionalidad del backoffice de umbraco al bolsillo de sus clientes.

Una vez te hayas instalado el paquete y bajado la app, ya puedes registrar tu instancia de umbraco en la aplicación. Por defecto uMobile tiene varias categorías, Admin, Content, Member y Media, en la que hemos estado trabajando últimamente.

             

La gracia de uMobile, aparte de poder monitorizar y gestionar la instancia de umbraco desde el móvil es crear categorías y métodos personalizados que respondan a la necesidad de cada instancia y entorno.

Para crear una categoría de uMobile tienes que crear una clase de C# que cumpla los siguientes requisitos:

1. Tiene que ser visible desde el assembly de uMobile. La puedes crear en App_Code, o dentro de un proyecto de librería de C# y copiar la dll a la carpeta bin de umbraco.

2. Tiene que heredar del tipo uMobile

3. Tienes que declarar la clase con el atributo umClass

using lecoati.uMobile;
using lecoati.uMobile.umCore;
using lecoati.uMobile.umComponents;

[umClass(Category = "Admin", Icon = Generic.Cogs)]
public class umAdmin : uMobile
{
    [umMethod(Title = "Users", Subtitle = "Users manager", Icon = GenericIcon.User)]
    public static string Users() {
        return string.Empty;
    }
}

4. Cualquier método que implementes dentro de la clase tiene que usar el atributo umMethod

Dentro de cualquier método puedes hacer cualquier cosa. Acceder al contexto de umbraco, hacer consultas a la base de datos, peticiones a una api externa, etc,... el único requisito que deben cumplir los métodos es que deben devolver un tipo string.

Éste string va a ser un json que la aplicación puede entender. Para ello puedes usar el método umGo() que serializa los tipos de umobile a json.

[umMethod(Title = "Users", Subtitle = "Users manager", Icon = GenericIcon.User)]
public static string Users()
{
    List calls = new List();
    umbraco.BusinessLogic.User[] users = umbraco.BusinessLogic.User.getAll();

    foreach (umbraco.BusinessLogic.User u in users)
    {
        string[] param = new string[] { u.Id.ToString() };

        calls.AddListItem(new ListItem(u.Name,
            subtitle: "Type: " + u.UserType.Alias,
            icon: GenericIcon.User,
            action: new Call("UserDetail", param)));
        }

        return calls.UmGo();
}

 

Si quieres aprender a crear otro tipo de métodos y funcionalidades, pásate por la sección de videos de uMobile.

Y si aún no lo has probado y quieres echarle un vistazo bájatelo de la página de proyecto de la comunidad de umbraco. Tiene compatibilidad con casi todas las versiones de umbraco a partir de la 4.7 y también con el nuevo Umbraco 7.