Asynchronous AlivePDF – Kickoff
Hello Fellow AS3 Developer,
Probably You got here trough the project repository, so let me explain our goal with the Asynchronous version of AlivePDF:
As you probably know AlivePDF is a “ActionScript 3 Open-Source PDF Library – 100% client side PDF generation which makes you and your server happy”.
But there is one big problem with it: If you’re planning to add images to your PDF You’ll see that this library is not asynchronous, and if You add a lot of images in a row your application will hang and freeze until it finishes the process.
Our goal is to change this part of the library and make it work asynchronously.
Keep tuned since You’ll see a couple of push’s in the next weeks.
(2 Comments)Add Facebook App to Page Link / Bookmarklet
As you know, Facebook removed the App Profile Pages (as of December 10, 2011) and with them the “Add to page” link.
You can now access this feature using a dialog that was created in order to replace the now removed feature.
Calling this dialog would make you loose some precious time, that’s why i developed this bookmarklet that you can add to your bookmark page and click when you’re on your summary page. (Example: https://developers.facebook.com/apps/APP_ID/summary)
Drag to your Bookmark Bar: Add App to Page
(Tested on Google Chrome)
SQL Series – Insert/Update in one stored procedure

I’ll be starting a new category in my blog called SQL Series, since I’ve been learning a lot about it – And we’ve been earing Wilson Edgar saying he loves SQL two or three times a day
To start my new post area I will share a simple stored procedure that will check if a record exists, if so update it, otherwise create it; Simple hum?! Just Update it to your needs
-
IF (SELECT COUNT(*) FROM YourTable WHERE YourVar = @YourValue) = 0
-
BEGIN
-
INSERT INTO YourTable(YourVar) VALUES(@YourVar)
-
END
-
else
-
BEGIN
-
UPDATE YourTable
-
SET YourVar = @YourValue
-
WHERE YourVar = @YourValue
-
END
Google Maps v3 and JQuery Tabs (jQuery tabs google maps bug)
If you are struggling against some problems with google maps and tabs be aware that, in order to avoid problems, jQuery sets the width & height of every hidden element to Zero.
To fix this problem all you have to do is trigger the resize event and the map will be working as it should.
To trigger the event all you need to do is:
-
google.maps.event.trigger(map, ‘resize’);
You should use the “show” method of your tabs in order to trigger the event, need an example?
-
$(‘#tabs’).tabs({
-
fx: { opacity: ‘toggle’, duration: 1000 },
-
}
-
});
Dont forget to change the “map” variable to your map object holder.
Quick Tip: Flex Error Feedback (errorString)
If you are looking for a simple and quick method to feedback errors on a form you can use someInputElement.errorString = “Your Error Here”; and you’ll have a nice, clean and quick way to display errors on forms.
Umbraco Team Tips: Multi developers – Republish all nodes
If you’re working with multiple developers in an Umbraco project you should be aware that every time someone updates content trough the backoffice you’ll have to republish the modified article in each developer working area, you can do it quickly by republishing all nodes on umbraco (Choosing “republish entire site” in the main content node), just choose this option and follow the republishing process:
JsonViewer for Chrome
If you work with jQuery as much as I do You’ll love this extension and It will save you some time.
You can find it here and you’ll finnaly see JSON quickly like this on chrome:
Simple Skinnable JQuery Lightbox
Hello!
Today I’m bringing you the latest DigitalWorks release: a simple & skinnable JQuery lightbox.
You can download it here.
The code is documented so it can be easily understood.
Installation
The lightbox install is divided in four simple steps:
1. Extract the *.zip contents into your root directory.
2. Add the following code to your page “HEAD” section:
-
<script src="Scripts/jquery.js" type="text/javascript"></script>
-
<script src="Scripts/jquery-ui.js" type="text/javascript"></script>
-
<script src="Scripts/dw_lightbox.js" type="text/javascript"></script>
-
<link rel="stylesheet" href="Styles/dw_lightbox.css" type="text/css" media="screen" />
3. Add the following code right before your body close tag (</body>):
-
<!–lightbox:start–>
-
<!–Add on the footer of your page (Before the </body> tag) –>
-
<div id="ShadowLightbox" class="ShadowLightbox"> </div>
-
-
<div id="ContentLightbox" class="ContentLightbox">
-
<div class="ContentLightboxTitle">
-
<table width="100%" cellspacing="0" cellpadding="0">
-
<tr>
-
<td>
-
<div id="titleLightbox">
-
-
</div>
-
</td>
-
<td align="right">
-
<div id="LightboxCloseButton" class="ContentLightboxCloseButton" style="display:none; float:right;">
-
<a href="javascript:CloseLightbox();">
-
<img src="Images/BtClose.png" onmouseover="this.src=’Images/BtCloseOver.png’"onmouseout="this.src=’Images/BtClose.png’">
-
</a>
-
</div>
-
</td>
-
</tr>
-
</table>
-
</div>
-
-
<div id="bodyLightbox" class="ContentLightboxBody">
-
<div id="wrapperLightbox" class="ContentLightboxWrapper">
-
<span id="LightboxContent"></span>
-
<input type="button" onClick="CloseLightbox();" id="LightboxButton" style="display:none;"></a>
-
</div>
-
</div>
-
</div>
-
<!–lightbox:end–>
4. Call the OpenLightbox function and/or skin your lightbox!
-
/**
-
* OpenLightbox
-
* This function centers an element on the screen.
-
*
-
* Args:
-
* title – The title for the lightbox
-
* contents – The contents for the body of the lightbox
-
* buttonText – null to hide the button or text to a button that closes the lightbox
-
* callbackFunction – null or a callback to call on lightbox close.
-
* reloadCallback – null or a callback to call on lightbox reload (hide and show)
-
**/
-
function OpenLightbox(title,contents,buttonText, callbackFunction, reloadCallback)

