martes, 7 de octubre de 2014

Nuevas macros en V8 para manejo de conexiones de BBDD

En la última actualización de V8 (8.00.0012) se han incluido dos nuevas macros demandadas desde hace tiempo por la comunidad.

En SC podemos definir y editar nuestras conexiones desde el ambiente de producción, pero hasta ahora, no se podían editar estos datos a través de código, para por ejemplo, poder definir una BBDD o puerto o servidor, partiendo de los datos del usuario logueado, lo que dificultaba el modelo SaaS desatendido.

Nuevas macros sc_connection_XXX

Ambas macros, reciben como segundo parámetro un array que contiene según sus indices una serie de parámaetros para la conexión: Para el caso de nueva conexión, server, user, password y database son obligatorios, siendo las demás opcionales,

$arr_conn['drive'] (no driver...no es un error tipográfico mío, es un problema de traducción de NetMake)
$arr_conn['server']
$arr_conn['user']
$arr_conn['password']
$arr_conn['database']
$arr_conn['persistent']
$arr_conn['encoding']
Las distintas opciones para driver son:  access, ado_access, odbc, db2, db2_odbc, odbc_db2, odbc_db2v6, firebird, borland_ibase, ibase, firebird, pdo_informix, informix, informix72, maxsql, ado_mssql, pdo_sqlsrv, mssqlnative, odbc_mssql, mssql, pdo_mysql, mysqlt, mysql, oci805, odbc_oracle, oci8, oci8po, oracle, postgres7, pdo_pgsql, postgres64, postgres, pdosqlite, sqlite, sybase

sc_connection_new("new_conn_mysql", $arr_conn);
Esta macro nos creará en tiempo de ejecución una nueva conexión (que podemos hacer persistente con $arr_conn['persistent'] = 'Y') . Como primer parámetro recibe el nombre que daremos a nuestra nueva conexión, y como segundo parámetro el array con los parámetros de ésta. Una vez creada la nueva conexión podemos combinar esta macro con sc_change_connection ("Old_Connection", "new_conn_mysql")


sc_connection_edit("conn_name", $arr_conn)
En esta macro, al igual que la anterior recibirá dos parámetros, siendo el primero la conexión que queremos editar. Todos nuestros objetos que usen esta conexión lo harán conectando a los datos de la nueva BBDD "editada" durante el trasncurso de la sesión.



Tutorial Original: http://www.scriptcase.net/scriptcase-samples/tutoriais/systems/multiple_databases.php

viernes, 13 de junio de 2014

Novedades ScriptCase v8.0


Aquí tenéis las novedades de ScriptCase V8.0 que nos han hecho llegar. Perdonar si hay errores de traducción. Están testeando algunos bugs y temas de traducción y pronto realizarán una presentación a partners y nos abrirán acceso a la beta cerrada. Imagino que si todo va como debería, a lo largo de Julio, v8.0 será publicada, aunque no hay confirmación de fechas.

jueves, 29 de mayo de 2014

ScriptCase: Evento Ajax onChange

 Esta entrada es una traducción del blog oficial.

En este artículo mostraremos como los eventos Ajax onChange funcionan. first Ajax will run doing a processing in the browser side to avoid to execute a SQL query or a server request (N. del T. Prefiero dejar esta frase sin traducir, ya que no termino de entender exactamente lo que quieren decir, creo que es un problema de traducción), de esta manera, el resultado volverá más rápido de lo habitual.

El evento onChange ocurrirá cuando el objeto pierde el foco y el valor del campo es cambiado. A continuación, mostraremos un ejemplo explicando como usar este evento. Crearemos una aplicación de tipo Control con un único campo (test), y crearemos el evento Ajax.


1. Necesitaremos crear una aplicación de tipo control y crear un nuevo campo llamado "test" en ella. 



2.  En el menú, "Eventos Ajax" crearemos un nuevo evento, eligiendo test como campo, y onChange como evento
3. Como código pondremos en el evento: sc_alert('Evento Ajax onChange capturado'); que lanzará una mensaje con ese texto.

4. Para finalizar ejecutaremos la aplicación, escribiremos cualquier texto en el campo test, y le haremos perder el foco.

N. del T.

Este evento usa Ajax para ejecutar código del lado del servidor en PHP. Si lo que se quiere hacer es trabajar el evento del lado cliente en Javascript, disponemos de la opción del Evento onChange para el objeto en cuestión, bajo el menú Javascript.



martes, 6 de mayo de 2014

Ajuste de ancho de las columnas en las aplicaciones de tipo de control

 Esta entrada es una traducción del blog oficial.

Para que haya una mejor alineación entre los elementos de una aplicaicón de ScriptCase, existe un recurso disponible prácticamente todos los tipos de aplicación, el llamado Anchura. Con él se puede determinar el tamaño exacto de píxeles de las columnas que desea trabajar
En las aplicaciones de tipo de control también es posible contar con esta característica y le enseñaremos a usarlo.

En primer lugar, vaya a la opción "Configuración".


Localice el atributo "Columnas de Tabla" y en el desplegable, seleccione "Informó" (hay un pequeño error de traducción aquí).

Ahora se habilitará un nuevo campo donde poder especificar el tamaño.

lunes, 5 de mayo de 2014

ScriptCase

Hace unos meses, descubrí ScriptCase. Sinceramente, me quedé impresionado por la potencia de esta herramienta. La verdad, es que era la típica herramienta que llevaba mucho buscando, un entorno RAD de programación, realmente competitivo, a un precio aceptable, y que las aplicaciones generadas pudieran desplegarse en cualquier hosting.

Realmente, no iba buscando una herramienta como SC cuando dí con ella, simplemente surfeaba la web. Cuando vi sus características (y por qué no decirlo, su precio), rápidamente me descargué la versión trial, y me puse a investigar.

Mi impresión sobre la herramienta, de hecho, fué a mejor. Me pareció una herramienta tan buena que compramos nuestra licencia, y nos pusimos rápidamente a migrar algunos proyectos. Después, decidimos convertirnos en resellers y abrir una línea de negocio alrededor de SC, ofreciendo formación, consultoría y licencias, siendo la primera consultora española en ofrecer servicios de SC.

A partir de ahora, de vez en cuanto habrán artículos sobre las bondades de SC, y poco anunciaré lo que tienen preparado para la versión 8. Adelantar, que va relacionado con adaptación móvil, y BI :)

lunes, 27 de enero de 2014

nuBuilder, a PHP alternative to Oracle APEX?

logo
 
 
Today, I would like to talk about nuBuilder. nuBuilder is an interesting tool I discovered last weekend. In this post we will take a superficial look to it. At date of this little article, screenshots and nuBuilder version downloadable is version 2, working with MySQL. It's suppose soon (February) will be available nuBuilderPro (3), new version created from scratch, thath can works using PDO with other databases.
 
First of all, nuBuilder Wikipedia entry say:

nuBuilder is a RAD tool for creating web-based Back Office Applications.

The nuBuilder platform is an open source PHP/MySQL/Javascript database development tool which stores forms, reports, company data and any custom code in MySQL and displays the content dynamically in a web-browser.
With nuBuilder, you have a bunch of PHP and other files, being this nuBuilder core itself. When you develop an application with nuBuilder, you don't have to think about having sources on one side, and development enviroment on other. nuBuilder has all integrated it. You can think about something like Microsoft Access, where data resides on the same way as forms, code, and so on.

But how internally works?

nuBuilder is a set of PHP files composing the nuBuilder core. To work over a new application with nuBuilder, you create a new folder, with some files. You just need to modify config to start working with nuBuilder for a new site.


On config.php file, you define database (database must be populate with some nuBuilder system tables, a 300KB SQL file), site name, dbuser, dbpassword .... just with this config params, index.php will take care of login and redirects to nuBuilder API to start working. Once this is finished, you can point your browser to something like:
http://ip_where_server_is/db/yourapplication
...where db is, by default, the folder where each applications folders are stored.

Your new recently created application, will be your development enviroment too. How?





 nuBuilder has a special user called globeadmin. Where you login to an application with this user (each application can have his own globeadmin password) you get some "special powers" over the application, and a new tab, called "Setup" appears.


 
 
 

You can configure USER access from here, add activities (PHP code and reports, yes, has a builtin reporting system), create new FORMS, objetcs (widgets inside forms), Style, and so on.... You can refine events for objects onBlur, beforeOpen and so on.... coding some in PHP and others with Javascript.

All objects, will be stored in "nuBuilder systems" tables on database (a simple export, saves data and application itself)

nuBuilder (and nuBuilder applications) uses the 2 screen model to provide an intuitive and flexible front-end for users and developers.

Another important "feature" is thath nuBuilder is used by nuSoftware to create his solutions. I mean, nuBuilder is used day by day on production enviroments

There are a Youtube playlist, where you can see a videotutorial about nuBuilder2

nuBuilder Pro will be available on February, free, and opensource, and in this video you can see some features. Some features about nuBuilder 3 was posted too on official blog on this entry. Obviously, programming style shares same principles, for this reason, knowledge you learn with nuBuilder 2 is shared with nuBuilder Pro, but applications will be not migrable.



Let me say..IT ROCKS!!!

viernes, 17 de enero de 2014

How WaveMaker 7 will look (last Webinar briefing)

In my last entry, we did a briefing of last year on WaveMaker community.

I mentioned CloudJee's Webinar did on 19 of September, but, in this webinar, new WM 7 look was showed...what was talked on this webinar?

You click to see WaveMaker next: Webinar by CloudJee on 19 September 2013.

The webinar participants was: Samir Ghosh (CEO of Coudjee Inc), Vevek (WaveMaker Community Manager), Deepak (Director of Engineering , CloudJee Inc) and Sharad (Director of Engineering, WaveMaker).

First of all, there are introductions to CloudJee and Pramati companies, and a little history about WaveMaker companies movement.

About minute 5, they talk about features of 6.6.0 release they finished, and then, talk about new  WaveMaker Cloud hosting, available under WaveMaker 6.7.0, showing a little demo of How To deploy to WM Cloud.

Later Demo, they talk about Short term (actual 6 branch), and long term (next WM 7 branch). News showed about this new version, are things like:
  • Capabilities of Collaboration, to work every team member on his tasks.
  • Communication channels: Message boards, contextual comments and so on
  • Release management and integration with GitHub.
  • Internal Marketplace.
    • Apps and templates,
    • Widgets,
    • Design artifacts..
And then, they pass to show how new WM UI will be. I suppose this screenshots are mockups not really a WM 7 working, and UI is susceptible to change. Sorry for WM 7 quality images, are taken from webinar video.

WaveMaker 6 "dashboard"
Wavemaker 7 Dashboard (mockup)
This can be the new Dashboard, where projects are shown. On WM7, description and some information about each project is showed, and a sidebar with latests updates to projects (this go for Collaboration).


WaveMaker 6 Project View ("blank project")
WaveMaker 7 Project View (mockup)

This are the Project View on Wm6 and WM7. Seems like in WM7 we will have Views instead Pages, and structuration of the UI is very different. Top Right there are information about user logged. I imagine this is for collaboration edition, where WM resides on a server. I hope this is not a signal thath WM needs mandatory to work on Cloud, because, local WaveMakers installations is a "must have". Speculating, I suppose this information is for Wavemaker Enterprise edition, and can be deployed on local server or Cloud. Maybe in video they talk about this, but sorry, my "english ear" is not very good :P



WaveMaker 6 Page Size


Next screenshots there aren't nothing to remark. is a Tablet view, like in WM 6 there are for change the default size of page to adapt widgets to correct resolution in tablets, mobile, and so on.

WaveMaker 6 File Explorer
 
WaveMaker 6 Page Size
 
On WM6 we don't have a file explorer at all. There are a "file explorer" but normally don't have sense to use it directly for anything but upload resources IMHO. On WM7, due to it's different nature, maybe a File Explorer has sense. On WM6, when you open Page, you open it's code too. Due to collaboration, in WM7, I imagine you can open View and code, indepently, and by different users.
 

 
 
Next comes to Service Explorer, very similar both. And next, activities, something new under new Collaboration concept capabilities.
 
WaveMaker 7 Activities (mockup)
 
Here you can see how other developer leaves a comment to another developer (I suppose under some code/view)
 
And finally the Release Schedule and Q&A, but about Q&A I don't understand very good. Maybe I will try to briefing on another post.
 
 
 
 
At this date, we have a 6.6.0 stable release, and a 6.7.0M3 (beta) release published. There are any Preview Release or 7.0 Beta available yet. It's suppose this month Closed Beta will be published to betatester.
 
I must admit WM 7 looks gorgeous, and new features are very interesting. For 2 people teams, where one is working on UI and other focus on code, it's very important, same for GitHub integration. Maybe, GitHub integration, means GIT integration, and we can for example integrate too to other repositories like BitBucket for example.
 
Bu I insist, communication with community it's important.
 

viernes, 10 de enero de 2014

Feliz año ..... Resumen y Wavemaker 7 a la vistaaaaaa!!!

Antes de ayer, desde el blog oficial de WaveMaker, Samir Gosh, CEO de Cloudjee, nos felicitaba el año, y hacía un repaso de lo que había sido 2013, así como adelantado noticias sobre la próxima versión. Antes de pasar a lo que comentó de lo nuevo, repasemos 2013.

2013 estuvo lleno de controversia. El desarrollo de WaveMaker fué parado, y descubrimos con estupor, como VMWare, con su movimiento llamado Pivotal, se deshacía/reestructuraba sus activos de desarrollo. En este movimiento, WaveMaker al parecer no entraba en sus planes, y enconces, 1 de Mayo de 2013, se anunciaba que Pramati había realizado la compra de los activos de WaveMaker.

Pramati es una compañía tecnológica de origen Indio, pionera en el mundo Java. Entre otros, desarrollaron el primer servidor J2EE de alto rendimiento, compitiendo con Oracle e IBM entre otros. Han sido exitosos en distintos proyectos, por ejemplo la plataforma Qontext, que luego sería comprada por Autodesk. Pramati también dispone de una subsidiaria, Imaginea que dispone de una legión de 600 programadores Java al servicio de proyectos de distintas dimensiones.

Y en esta historia, donde entra Cloudjee? CloudJee es una startup, también dependiente de Pramati. Es un intento, junto con la compra de WaveMaker, de crecimiento, por el lado de los desarrolladores como clientes. En resumidas cuentas. Pramati ha comprado Wavemaker, y ha montado una empresa que será la encargada de mantenerlo, crear nuevos productos, y ofrecer hosting bajo su servidor de alto rendimiento, bajo el nombre de Wavemaker Cloud

En estos más de 6 meses, los pasos que ha hecho Cloudjee, ha sido liberar la versión estable 6.6, una versión  Beta de 6.7 (ambas basándose aún en Dojo 1.6.1), esta última, con posibilidad de automatizar el despliegue en WMCloud, y anunciar finalmente, WaveMaker 7 para el segundo cuarto de 2014.

Estamos expectantes de conocer como será WM 7. Ya que éste, es una reescritura total del IDE, sustituyendo Dojo por AngularJS como librería base. Precisamente, esta sustitución, fué una de las cosas que más controversia creó el año pasado, encontrándose tanto evangelistas como detractores a favor y en contra de esta decisión marcada de polémica.

Una de las novedades (además de las más importante de todas del cambio en el core) que Samir anunció antes de ayer,es que WaveMaker 7, continuará siendo OpenSource, pero existirá también una versión Enterprise de pago. Este anuncio, no es malo, ya que es lógico que se quieran crear servicios de pago alrededor de la herramienta, al fin y al cabo, los programadores también comemos, vivimos y tenemos que pagar la luz..ahora, lo que habrá que ver, es, qué es lo que incorporará la versión Enterprise, y si se restarán funcionalidades a Community

La otra novedad es la incorporación de los Prefabs. Los Prefabs vendrán a ser algo así como "paquetes" que podremos "colgar" a nuestro proyecto, y que proveerán de características "automatizadas". Un ejemplo. Imagina un Prefab "Postear anuncio eBay". Podrás coger este prefab, arrastrarlo a tu proyecto, y automáticamente, configurando unos pocos datos, este Prefab  podría tomar datos de tu tabla de productos, recoger cierta entrada del usuario, y publicar el anuncio en eBay. bastante interesante.

Tiempo, sólo nos queda esperar, y ver qué tiene pensado CloudJee para la comunidad y para el mundo empresarial. personalmente, estoy deseando poder hincar el diente a la nueva versión y probarla.