APEX plugin file drop

It’s already reachable next to my webcam plugin for a couple months.

Now I decided to publish the plugin into the wild: filedrop

Posted from Geneva, Geneva, Switzerland.

Adding a dialog to a component

As a result of a discussion with colleagues I’m posting this information about Adobe CQ5.  Whenever you are creating a dialog for a component, take care how you name it. The label of a dialog must be either “dialog” or “design_dialog”.

If you called your dialog something like “my_dialog” then it will not work. There is no exception. For an individual name please use the title property. In the first picture of the documentation of the dialog editor you can see that they are named this way.

Why jQuery mobile isn’t a fair jQuery addon

While looking at the source code of jQuery mobile I just figured out that jQuery mobile is using undocumented features of jQuery. Which is pretty bad because first of all to contribute to jQuery mobile it is necessary to have knowledge about the internal behavior of jQuery. The next issue is the consistency of an internal function. I guess there is a reason why the jQuery team is not providing any documentation about a particular function. Maybe because they want to get rid of if? Maybe it’s functionality is changing within the next release? So I think in general it’s not very smart to use something which is not documented, even if it’s possible. However because jQuery mobile does this it is difficult to get rid of the jQuery library if you are planning to do so.

Maybe you have already heard about Zepto.js (it’s not such a new thing). The goal of Zepto is to provide the same (public) interface as jQuery but to remove all parts of the internal functionality which are irrelevant for mobile applications. So all crossbrowser related stuff to handle IE properly will not be included in Zepto. Because of this, Zepto decreases the library size and increases loading speed. So it would be awesome to use the jQuery mobile widget kit with Zepto instead of jQuery. But to achieve this it is not enough to provide the same interface like jQuery…. unfortunately.

So far I found calls for these functions in jQuery mobile:

  • $.expr
  • $.style

If you are interested in porting some of your applications to Zepto, Ms. Pamela Fox already ported some successfully.

Posted from Basel, Basel-Stadt, Switzerland.

APEX Drag and Drop Fileuploader

Based on my jQuery plugin I created an APEX plugin to upload files the same way. The plugin displays a dropping area and sends the files with AJAX to an APEX PL/SQL process. Try it!

 

Posted from Vienna, Wien, Austria.

APEX Webcam Plugin

This plugin allows you to receive pictures of a webcam in a PL/SQL execution. I used a jquery plugin from xarg.org.

After installation, t is pretty simple to handle though you have to grab the BLOB from the collection on your own. Create a new page item from the webcam plugin and look at the attribute “PL/SQL execution”.


DECLARE
c_collection_name constant varchar2(200) := 'CLOB_CONTENT';
l_blob BLOB;
BEGIN
select apex_web_service.clobbase642blob(substr(clob001, instr(clob001, ',')+1, length(clob001))) into l_blob
from apex_collections
where collection_name = c_collection_name;

insert into table1(id, img) values (1, l_blob);
END;

In the example above a local variable l_blob holds the image and you can easily write it into a table with a BLOB column. Additionally you can pass page/application items to the PL/SQL execution to use them like regular APEX bind parameters.

Requirements: Flash, HTML5 (canvas)

Download item_type_plugin_at_nethead_apex_webcam.sql

Posted from Paris, Île-de-France, France.

jQuery Plugin: Tight HTML5 File Drag and Drop


I know this not something new and I know there are many good jQuery plugins out there which help to create HTML5 drop fields. But I needed a really tight one with a small footprint. My solution has 270 bytes (YUI Compressor, minified and gzipped) and the sourcecode is accepted by JSLint :)

Drop files here

My plugin just handles the file dropping and passes each dropped file to a callback function. In the example above I used a callback function to send each file to the server asynchronously.


$('#dropper').filedrop({
	callback : function (file) {
		var data = new FormData();
		data.append('file', file);

		$.ajax({
		    url: '/wp-content/uploads/filedrop/testUpload.php',
		    data: data,
		    cache: false,
		    contentType: false,
		    processData: false,
		    type: 'POST',
		    success: function(data){
		        alert(data);
		    }
		});

	}
});

Download jquery.filedrop

Posted from Vienna, Wien, Austria.

Camera on APEX

A current client needed a possibility to add a camera frame to an APEX application. So I created a plugin for his need.

It still has some bugs but it is so super easy to configure. You can try the plugin. I need to fix some bugs and check some license issues but I think I’ll publish it at the end of the week.

Posted from Niederosterreich, Austria.

Facebook and my clean wall

Today I accidentally clicked on “GET TIMELINE”… which follows by a countdown of 7 days until your profile gets the new timeline layout for public. I don’t want to discuss the quality of it, or any personal opinion here. Let’s just say, I wasn’t happy. However I decided to wipe away all the content of my wall. Unfortunately Facebook doesn’t seem to like this, so they missed to provide any functionality for that. I tried several macros for greasemonkey but the result wasn’t what I expected… long story short, I wrote an own script for iMacros for Firefox.


VERSION BUILD=7401110 RECORDER=FX
TAB T=1
URL GOTO=https://m.facebook.com/YOUR_USERNAME
TAG POS=1 TYPE=A ATTR=HREF:/delete.php*&&CLASS:sec&&TXT:Remove
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:/a/delete.php* ATTR=VALUE:Remove

Feel free to use this script, but be careful, it literally deletes your wall!

jQuery DOM Manipulation test (bug?)

I discovered something really weird when I needed to manipulate the DOM with jQuery (1.7.1)….
check the log and the source with Firebug and you will see what I mean!
Clone

The <script> tag and DOM manipulation


If you are interested to analyze the script, here is a separate file with the complete test. Maybe you will find an answer for me :)

No support

The last months I got a lot of mails regarding my plugins (especially for the Tabular LOV). I really appreciate your interest though I have to tell you guys that I give no support for them. Anyways I’d like to help you but my limited time schedule doesn’t permit. I created these plugins with the intention to give something back to the community So any requests to ask me to extend the plugins for free are useless, I published them as a result of actual projects and if I think it is necessary for my current work I’ll go on working on them. This solutions are for developers who are thankful that I speed up their project. I encourage everybody to make changes on the source and if you want I’ll publish the results here.

Cheers,
Damien