martes, 14 de diciembre de 2010

Programacion Neurolingüistica

Estrategias y artículos de programación neurolingüistica.

Fte: aqui

SFTP as400

Hi,

Here's a great article by Scott Klement that should get you up and running

The SSH, SCP, and SFTP Tools from OpenSSH

Note: for automating with scripts

SFTP does not use OVRDBF for scripting. Instead, if you want to use SFTP with a script, you have to put the script in an IFS file and run it with the -b parameter to SFTP.

Regards,

Martin Gilbert.

-----------------------------
The problem is that I need a subscription to view that article. My company is on a budget and not new expenditures are allowed.

-----------------------------
Gilly,

Might as well put me on the list for sftp. csallee@lfucg.com

Chuck

==========================================================

Although it is common to think of "secure FTP" as being the same as "SFTP", they are very different. And both of those are very different from "sftp" which is what most comments in this thread are about. (The sftp discussion is probably appropriate. The question doesn't actually define what is needed.)

"Secure FTP" or FTPS (or FTP/S) refers to running FTP over the Transport Layer Security (TLS) and the Secure Sockets Layer (SSL) cryptographic protocols. Using the "FTP" acronym by itself means that the actual FTP is being run.

"SFTP" is actually Simple File Transfer Protocol, but that definition is fading due to the now widely used but incorrect interpretation as being "Secure File Transfer Protocol" or "SSH File Transfer Protocol". In this question, SFTP (Simple File Transfer Protocol) can be practically ignored.

"sftp" is SSH File Transfer Protocol, or Secure File Transfer Protocol, but not "Secure FTP" which explicitly uses the separate 'FTP' acronym. Using the 'FTP' acronym as a separate token implies the FTP protocol which has nothing to do with "sftp".

In short, when negotiating file transfers nowadays, you can start with an assumption that sftp will be used; but make sure that the other system is using the same definition.

Both sftp and "secure FTP" can be used under i5/OS. They are incompatible with each other and are entirely different protocols. "Secure FTP" uses FTP; sftp does not. They run over different ports. They use different scripts and have different prerequisites.

By recognizing and understanding that there are differences among all of these, it gets easier to sort out all of the various articles around the internet and the Info Center topics. It can seem that some of those contradict others when they may actually be describing different things. Always make sure that you know which topic is being discussed.

Coaching

Relación de artículos de coaching

Fte: http://www.coachingparaelexito.com/respiro/articulos/

Asegurando la conexión FTP - SFTP o FTP seguro - FTP sobre SSL

Vale, si solemos usar el protocolo FTP y no queremos que nos saquen contraseñas o directamente los ficheros que no pasen sin encriptar entre un servidor y un cliente, para ello debemos habilitar la capa segura o SSL.

Bien, esto es un ejemplo, con el Ethereal, primero haré un esnifado para comprobar que el usuario y la contraseña viaja por la red en texto plano y los ficheros que enviemos también (pero no se ve en la imagen):



Comprobamos que eso, que desde un PC (192.168.0.1) se conectan a un servidor FTP (192.168.0.2) y se ve claramente el usuario y la contraseña (usuario1 / kontraseña), vale, ahora lo que haremos será configurar un servidor FTP seguro y accederemos mediante otro cliente FTP seguro (ambos gratuitos).

Lo primero, descargar el servidor y el cliente de su web oficial, son gratuitos y los bajamos de AKI en la zona de Downloads; usaremos el FileZilla Server y el FileZilla Client. Vale, se supone que instalaremos el FileZilla Server en el servidor y el Client en el PC desde el que nos queramos conectar (como es lógico, ¿no?) y ojo, que si instalamos el FIleZilla Server en algún servidor que ya tiene el servicio FTP habilitado antes abría que desinstalar ese servidor!!



Vale, vamos primero al servidor, para configurarlo, para ello, debe de estar instalado (no pongo la instalación pq es un asistente típico), así que abrimos el “FileZilla Server Interface”



1º, pulsamos sobre el icono de “Settings”, después nos desplazamos en la columna de la izquierda hacía: “SSL/TLS settings”, y habilitamos todos los checks de la parte derecha para que la conexión sea cifrada, y pulsamos sobre “Generate new certificate…” para crear un certificado.



Ok, rellenamos los datos y ponemos un PATH para guardar el certificado (en algún lar seguro) y pulsamos sobre “Generate certificate”



Pulsamos sobre OK.



Ahora en la pantalla principal del Server, pulsamos sobre el icono de Usuarios para generarlos nuevos. Pulsamos sobre “Add” para crearlos, les establecemos una contraseña (la habilitamos también) e importante marcar el check de “Force SSL fot user login”.



Ahora pulsamos sobre “Shared folders” para crear un directorio donde se logearán los usuarios, por ejemplo C:\ftp desde el botón “Add” y OK.



Vale, el servidor ya está configurado, ahora quedaría la parte cliente, para ello, instalamos el “FileZilla Client” en los PC’s desde los cuales queramos conectarnos.



Lo abirmos y vamos “File” > “Site Manager…”



Creamos una conexión, para ello, primero en “New Site” y ponemos el nombre del servidor FTP al que nos conectaremos, indicando si procede el usuario y la contraseña. Es imprescindible poner en el tipo de conexión “FTP over SSL (explicit encryption)” y ya dandole a “Connect” nos conectaría, o podemos guardar los cambios sin conectarnos desde “Save and Exit”.



Y al conectarse nos abre esta pantalla para aceptar el certificado del servidor, si confiamos, marcamos el check para siempre y Aceptamos. Ahora todas las conexiones vía FTP son cifradas y no viajan datos en texto plano.



Para comprobarlo, de nuevo con el Ethereal… veremos que todos los datos salen cifrados excepto el nombre de usuario :)

Descargar PDF: aqui

Fte: aqui
Escrito por Héctor Herrero en Varios |

miércoles, 16 de junio de 2010

10 Awesome Flex Developers You Should Follow

These individuals have all inspired and/or helped me at one point in time. I’d like to take a moment to point them out and say thanks. They have all helped me greatly and their insight is fantastic. You should check out their blogs or follow them on twitter to gain great Flex development advice, code, tutorials, articles, etc. Thanks to all of you very much!!!!

David Tucker

I first noticed David’s work when he created the blog series on learning Cairngorm. He did such a great job it was amazing. He provided written explanations, code example and videos. Kudos man, I still send people there to learn about Cairngorm. David Tucker is a Rich Internet Application developer, author, and trainer. David currently serves as a Software Engineer at Universal Mind. In addition, David also blogs regularly at InsideRIA where he produces the Weekly RIA RoundUp podcast. David also recently completed the AIR 1.5 Cookbook (with a great group of co-authors) and the Lynda.com series,
AIR for Flash Developers.
Check his blog here: http://www.davidtucker.net/
Follow on twitter: http://twitter.com/mindmillmedia/

Andy Powell

Andy is pretty much a guru in Flex / server integration and development. Andy has answered a number of my questions about Java, BlazeDS and Spring integration for Flex development. Andy is a RIA developer located in the metro Atlanta, GA area. He is currently employed by Universal Mind where he builds really cool applications with tools like Java, Adobe Flex, Adobe ColdFusion, Adobe Spry, Hibernate, Spring, & other cool technologies.
Check his blog here: http://www.infoaccelerator.net/blog/
Follow on twitter: http://twitter.com/umandy/

Laura Arguello

She was instrumental in providing technical reviews and input regarding the details of the framework. Laura is the CTO at ASFusion. She specializes in RIA development using ColdFusion and Flex. She regularly gives presentations at tech conferences and user groups. She is a Certified Advanced ColdFusion MX 7 Developer and the manager of the Orange County Flex User Group.
Check her blog: http://www.asfusion.com/
Check her side project blog: http://www.mangoblog.org/
Follow on twitter: http://twitter.com/instante/

Matt Chotin

Matt is a Product Manager for developer-focused technology after having been a software engineer for 6 years. He is the Product Manager of Flex at Adobe.
Check his blog here: http://weblogs.macromedia.com/mchotin/
Follow on twitter: http://twitter.com/mchotin/

Eric Feminella

Eric is one of the best Flex developer. Definitely an extra special thanks to Eric!! Eric is a Software Architect specializing in providing quality solutions and services for enterprise and consumer class RIAs targeting the Adobe Flash Platform and associated technologies.
Check his blog here: http://www.ericfeminella.com/blog/

Adam Flater

Adam is a Technical Architect and Evangelist at Roundarch. His career has been centered on building innovative graphical user interfaces and research of emerging technology. He is also a contributor to InsideRIA and the creator of Merapi.
Check his blog here: http://adamflater.blogspot.com/
Folllow on twitter: http://twitter.com/adamflater/

Kevin Hoyt

He provides what seems to be effortless presentations that are easy to understand, interesting and just plain cool. Kevin is a Platform Evangelist with Adobe, and is actively involved with both the Flash and JavaScript communities.
Check his blog here: http://blog.kevinhoyt.org/
Follow in twitter: http://twitter.com/parkerkrhoyt/

Sean Voisen

Sean works with a lot of different technologies and probably wouldn’t classify himself as a Flex Developer. Sean has been a teacher at the Art Institute of California and has worked with companies like AOL and Adobe.
Check his blog here: http://voisen.org/
Follow on twitter: http://www.twitter.com/svoisen/

Jesse Warden

Jesse is a professional software design & development consultant. His background is in multimedia, blending art & programming together. If it’s cool, and computer related, he wants to be involved. He is currently a Flex & Flash Architect at Roundarch.
Check is blog here: http://jessewarden.com/
Follow on twitter: http://twitter.com/Jesterxl/

Rich Tretola

Rich has been building Internet applications for over 10 years and has worked with Flex since the original Royale beta version of Flex in 2003. Other than Flex, Rich builds applications using ColdFusion, Flash, and Java.
Check his blog here: http://blog.everythingflex.com/
Follow on twitter: http://twitter.com/richtretola/

Fte: http://iloveflex.blogspot.com/2009/09/10-awesome-flex-developers-you-should.html

Flex Documentation links

Flex Documentation link: http://livedocs.adobe.com/flex/3/flex3_documentation.zip
Component Explorer: http://examples.adobe.com/flex3/componentexplorer/explorer.html
Style Explorer: http://examples.adobe.com/flex3/consulting/styleexplorer/Flex3StyleExplorer.html
Tour De Flex (Download and Install it Will solve your lots of Questions- Requires AIR) : http://www.adobe.com/devnet/flex/tourdeflex/
Adobe Flex in a Week: http://www.adobe.com/devnet/flex/videotraining/
Adobe Online resources: http://www.anandvardhan.com/adobe-resources/
Flex 2 FMS Explorer
http://www.flash-communications.net/technotes/flex2FMSExplorer/flex2FMSExplorer.htmlHelp: http://www.flash-communications.net/technotes/flex2FMSExplorer/
Away3D explorer for Flex
http://www.nielsbruin.nl/flex_examples/away3d/Download from :http://away3d.com/downloads
Flex 2 Primitive Explorer
http://www.flexibleexperiments.com/Flex/PrimitiveExplorer/Flex2PrimitiveExplorer.html
Flex Examples
http://blog.flexexamples.com/
Flex 2 Component Explorer
http://examples.adobe.com/flex2/inproduct/sdk/explorer/explorer.html
Flex 3 Component Explorer
http://examples.adobe.com/flex3/componentexplorer/explorer.html
Flex 2 Style Explorers
http://examples.adobe.com/flex2/consulting/styleexplorer/Flex2StyleExplorer.html
Flex 3 Style Explorers
http://examples.adobe.com/flex3/consulting/styleexplorer/Flex3StyleExplorer.html
Charting Components Explorer
http://demo.quietlyscheming.com/ChartSampler/app.html
JAM – Just ActionScript and MXML
http://www.onflex.org/code/2006/08/fresh-jam-flex-app-right-click-for.html
FlexSpy – To modify and inspect all the visual components off Flex
http://www.mieuxcoder.com/data/2007/12/FlexSpy-1.2/dashboard.html
A directory of Adobe Flex components
http://flexbox.mrinalwadhwa.com/
Flex Style Creator
http://www.flexonrails.net/stylescreator/public/
Easing Effects Explorer
http://www.madeinflex.com/img/entries/2007/05/customeasingexplorer.html
Color Explorer
http://kuler.adobe.com/
Cairngorm Diagram Explorer
http://www.cairngormdocs.org/tools/CairngormDiagramExplorer.html
Resize Manager
http://www.flex-flex.net/flex/ResizeManager/ResizeManager.htmlhttp://blogs.adobe.com/flexdoc/2007/03/creating_resizable_and_draggab.htmlhttp://www.teotigraphix.com/explorers/ResizeManagerFX/ResizeManagerFXExplorer.html
Flex Enhanced Button Skin Explorer
http://www.wabysabi.com/flex/enhancedbuttonskin/
Flex Book
http://www.rubenswieringa.com/code/as3/flex/Book/
Distortion Effects Explorer
http://www.alex-uhlmann.de/flash/adobe/blog/distortionEffects/effectCube/
Random Walk
http://demo.quietlyscheming.com/RandomWalk/IconWalk.html
Flex Super Panel
http://www.wietseveenstra.nl/files/flex/SuperPanel/v1_5/MainView.html
Chart Range Selection Component
http://www.stretchmedia.ca/code_examples/chart_range_selection/main.html
Dual Slider
http://www.visualconcepts.ca/flex2/dualslider2/DualSlideTest.html
Advance Form
http://www.renaun.com/flex2/AdvancedForm/
Drag Tile
http://demo.quietlyscheming.com/DragTile/Alphabet.html
Dictionary – Word Information
http://mark-shepherd.com/thesaurus/
Flex Text Effects Explorer
http://www.sakri.net/technology/flash/flex/flex_text_effects/FlexTextEffectsExplorer.html
Flex Presentations – You can also add your presentations in thishttp://www.asfusion.com/projects/cf-presenter/
MXNA Reader
http://www.asfusion.com/mxna/
Drop Shadow
http://www.asfusion.com/examples/item/drop-shadow-en-flash-8
Bevel Filters
http://www.asfusion.com/examples/item/bevel-filter-en-flash-8
Bevel Filters
http://www.jamesward.com/census/
Getting Started
http://learn.adobe.com/wiki/display/Flex/Getting+Started
Flex 3 Help
http://livedocs.adobe.com/flex/3/html/index.html
Reflection Explorer
http://www.wietseveenstra.nl/files/flex/ReflectionExplorer/v1_0/ReflectionExplorer.html
DZone – Community for developers
http://www.dzone.com
Flex.org – Community for Flex developers
http://flex.org
Degrafa – Declarative graphics framework for Flex. Degrafa allows you to use MXML markup to draw shapes, make complex graphics, create skins and also includes advanced CSS support.
http://www.degrafa.com/
Text layout Editor
http://www.madeinflex.com/img/entries/2007/05/customeasingexplorer.html
Custom Easing Function Explorer
http://labs.adobe.com/technologies/textlayout/demos/
Flex Games
http://s3.amazonaws.com/apphost/MGB.html
tour-de-flex Component Explorer
http://arunbluebrain.wordpress.com/2008/11/19/tour-de-flex-component-explorer/
Flex Samples
http://www.adobe.com/devnet/flex/?navID=sampleshttp://www.adobe.com/devnet/flex/community_samples.html
Flex Applications
http://www.onflex.org/flexapps/applications/Flipper/
Scrawl Application
http://www.thebetterside.com/scrawl/ScrawlExample4.html
Display Shelf
http://demo.quietlyscheming.com/displayShelf/index.html
Rating Component
http://www.flexibleexperiments.com/Flex/RatingComponent/Blog_Post_Rating_Component.html
Create Flow Chart
http://my.lovelycharts.com/
Designer Effects for Flex
http://www.efflex.org/
find answers to your Flex questions
http://sandboxviolation.appspot.com
Flex 3 regular expression explorer
http://ryanswanson.com/regexp/#start
Adobe bugs and issue management system
http://bugs.adobe.com/jira/secure/Dashboard.jspa
Rich Spatial Flex viewer
http://flex888.com/lab/geoweb/flexviewer/
Color tool
http://www.adobe.com/cfusion/marketplace/index.cfm?event=marketplace.offering&offeringid=10763&marketplaceid=1
Advance data visualization for flex
http://www.ilog.com/products/ilogelixir/demos/
RIA Trax Explorer
http://www.insideria.com/2009/03/riatrax-flex-event-tracking-no.htmlhttp://labs.happytoad.com/RIATrax/explorer/
25 Excellent And Useful Adobe AIR Tutorials & Resources
http://www.smashingapps.com/2009/03/06/25-excellent-and-useful-adobe-air-tutorials-resources.html
Visualization Explorer
http://lab.benstucki.net/archives/visualizationexplorer/
CSS3 Box Explorer
http://lab.benstucki.net/archives/css3boxexplorer/
Scroller Explorer
http://lab.benstucki.net/archives/scrollerexplorer/
Pixel 3D Explorer
http://lab.benstucki.net/archives/pixel3dexplorer/
Google Social Graph Explorer
http://dreamingwell.com/examples/flex/googleSocial/GoogleSocial.htmlhttp://www.tarasnovak.com/lab/FlexSVGExplorer/01/FlexSVGExplorer.html#
Component Framework
http://blog.benstucki.net/index.php?paged=10
Opensocial
http://code.google.com/p/opensocial-actionscript-client-sdk/http://code.google.com/p/as3opensociallib/
Library of Flex Components
http://code.google.com/p/flexlib/
Open Flux – Framework
http://code.google.com/p/openflux/
Degrafa – Declarative graphics framework for Flex. Degrafa allows you to use MXML markup to draw shapes, make complex graphics, create skins and also includes advanced CSS support.
http://code.google.com/p/degrafa/
FlexLib Component List
http://code.google.com/p/flexlib/wiki/ComponentList
Firebug for flex applications
http://code.google.com/p/fxspy/
lightweight logger extension for Flex 3-4, AIR and Flash 9-10 applications
http://code.google.com/p/flash-thunderbolt/
List of 31 Flex APIs, Libraries, Components and Tools
http://seantheflashguy.com/blog/2007/08/21/list-of-31-flex-apis-libraries-components-and-tools/
List of 22 ActionScript 3.0 API’s
http://seantheflashguy.com/blog/2007/08/13/list-of-22-actionscript-30-apis/
ActionScript 3.0 APIs developed specifically for Adobe Flex and AIR.
http://www.ericfeminella.com/blog/actionscript-3-apis/
ASMailer : The ASMailer class sends emails using an SMTP server. ASMailer sends mail without the need of a server side language like PHP or JSP.
http://asmailer.riaforge.org/
Away3d 2.1 : Away3D is a realtime 3d engine for flash in ActionScript 3.0
http://away3d.com/away3d-21-demos-docs
Bullet Graph : A good way to show actual time spent vs. the estimated time for a project
http://agileui.blogspot.com/2008/05/bullet-graph-free-flex-component.html
Degrafa : Declarative Graphics Framework
http://www.degrafa.com/
Desuade Partigen : Desuade Partigen is an extension for Adobe Flash which lets you create realistic vector and raster particle effects (such as fire, smoke, sparkles), without requiring you to do any complex coding.
http://desuade.com/products/partigen/
EasyMVC : EasyMVC is an event driven MVC framework which focuses on flexibility while not getting in the developers way.
http://projects.simb.net/easyMVC/
Five3D : vector-based 3d rendering framework by Mathieu Badimon – has just received a significant update, bringing it to version 2.1. New features this version brings: Back Face Culling, Flat Shading, Z-sorting, Space Drawing functions, Bitmap3D class, Video3D class, Sprite2D Class, Letter Spacing, Text Width
http://five3d.mathieu-badimon.com/
Flash Player 10 API Documentation!
http://download.macromedia.com/pub/labs/flashplayer10/flashplayer10_as3langref_052008.zip
Flex 3 Performance and Memory Profiling : Memory profiling lets you look at objects being created, take snapshots and compare them. Performance profiling allows snapshots for looking at cumulative and internal time.
http://labs.adobe.com/wiki/index.php/Flex_3:Feature_Introductions:_Performance_and_Memory_Profiling
Flex 3 RSLs : Use Flex 3 runtime-shared-libraries (RSLs) to reduce the size of your applications and thereby reduce the time required to download the application. RSLs are just SWF files whose code is used as a shared library between different application SWF files.
http://labs.adobe.com/wiki/index.php/Flex_3:Feature_Introductions:Flex_3_RSLs
Flex 4 States syntax changes : Flex 4 will target all of the legacy usage scenarios of classic Flex states functionality (stateful components, states as application views or pages, effects and transitions between view states, etc.). This document outlines what is primarily a syntax change for the existing functionality.
http://opensource.adobe.com/wiki/display/flexsdk/Enhanced+States+Syntax
Flex and Flex Developers Magazine
http://www.ffdmag.com/
Flex Designer Scroll Bars : skinny little tone on tone scroll bars that have no scroll arrows
http://www.gskinner.com/blog/archives/2008/05/designer_scroll.html
FlexMDI : flexmdi is a robust, extensible Multiple Document Interface framework for Adobe Flex.
http://code.google.com/p/flexmdi/
Flex Resource Bundles : Resource bundle is a set of values that you externalize from your source code in a properties file. And it can be swapped out at compile time or, with Flex 3, at runtime. Think of it like a style sheet for values.
http://blog.extends.eventdispatcher.org/roger/introduction-to-flex-resource-bundles/
FOAM : two-dimensional rigid body physics engine written in ActionScript 3.0.
http://code.google.com/p/foam-as3/
Go3D : Cool Tweening Engine, the Go3D which give you more control over moving objects in 3d space.
http://code.google.com/p/goplayground/source/checkout
GoogleMap Flex Component : A new component for Flex Developers who want to add more control or be very well organized.
http://www.igorcosta.org/?p=140
Guttershark : Actionscript 3 library that pushes some simple conventions on you, only to make you faster as a developer. It’s a pattern for Flash development that cuts out a huge amount of time, especially when you’re in the first stages of development.
http://www.guttershark.net/
ILOG Elixir : A suite of professional user interface controls that gives developers a rich collection of innovative and interactive data display components. It includes ready-to-use schedule displays, map displays, dials, gauges, 3D and radar charts, a treemap chart and organization charts.
http://www.ilog.com/products/ilogelixir/
LoadingImage : Takes a regular Flex Image component, and adds a self contained ProgressBar to it to show its own loading progress.
http://www.munkiihouse.com/?p=135
Logger Library and RIALogger : The Logger component provides classes to that abstract the Flex 2 Log and logging Target classes. It provides a simple approach to logging messages with category information and provide hooks into multiple targets. It supports the following logging targets by default: RIALoggerTarget, TraceTarget (trace()), XPanelTarget, and FlexTracePanelTarget. The LogController also provides functionality to allow you to setup your own custom logging Target.
http://renaun.com/blog/flex-components/rialogger/
Mate : Mate is a tag-based, event-driven Flex framework.
http://mate.asfusion.com/index.cfm
Merapi : Merapi is a new project that is a framework for connecting AIR to java at the desktop.
http://adamflater.blogspot.com/search/?q=merapi
MinimalComps : Minimal AS3 UI Component Set : CheckBox, PushButton, HSlider, VSlider, InputText, ProgressBar, RadioButton, ColorChooser (text input only) and Panel.
http://www.bit-101.com/minimalcomps/
OpenFlux : OpenFlux is an open-source Flex component framework which allows developers to create radically new and custom Flex components.
http://code.google.com/p/openflux/
PeekPanel : Cool way to hide options or preferences in an application. It borrows the look and feel from the FlexBook/PageFlip components already out there, but instead of simulating a book, this is more of a way to use the “flip” to hide other components.
http://www.billdwhite.com/wordpress/?p=29
PlexiGlass
http://www.bobjim.com/category/plexiglass/
Share (Document Services API) : Online service provided by Adobe that allows you to share, publish, and organize documents online.
http://code.google.com/p/as3sharelib/downloads/list
Slide : Slide is an application framework for projects built in Flex 2 or 3. Using familiar design patterns, Slide provides a robust MVC structure, view state management decoupled from view implementation and a flexible approach to model and controller access, eliminating need for singleton classes.
http://code.google.com/p/flex-slide/
Sandy 3.0.2 : Sandy is an intuitive and user-friendly 3D open-source library.
http://www.flashsandy.org/versions/3.0
Sprouts : Sprouts is an open-source, cross-platform project generation and configuration tool for ActionScript 2, ActionScript 3, Adobe AIR and Flex projects.
http://www.projectsprouts.org/
Universal Mind Extensions for Adobe Cairngorm : Universal Mind has extended the classic Adobe 2.2.x Cairngorm version to provide many productivity and maintenance enhancements.
http://code.google.com/p/flexcairngorm/
Video Tutorial on Compiling for Flash Player 10
http://theflashblog.com/?p=383
Virtual Space (AS 3.0) V. 1.0 : The Virtual Space is an AS3 component that can be used to create virtual-tour type visualizations very easily. Simply specify 6 images to be used for top, bottom, left, right, front, and back. Then, position the camera, set the initial view, and specify interaction parameters.
http://www.afcomponents.com/components/virtual_space_as3/
TextArea Explorer
http://www.techizzles.com/2009/03/14-most-productive-adobe-air-applications/
Noise Explorer
http://www.bit-101.com/explorers/NoiseExplorer.swf
Perlin Explorer
http://www.bit-101.com/explorers/PerlinExplorer.swf
Threshold Explorer
http://www.bit-101.com/blog/?p=819
PixelBender
http://labs.adobe.com/technologies/flashplayer10/demos/pixelbender/http://www.adobe.com/cfusion/exchange/index.cfm?event=productHome&exc=26&loc=en_us
TiltShift Generator
http://labs.artandmobile.com/tiltshift/
Flex 3 Regular Expression Explorer
http://ryanswanson.com/regexp/#start


Fte: http://iloveflex.blogspot.com/2009/09/flex-documentation-links.html

Technical FAQ for developers

1. How do I integrate Flex with IIS?
The "Integrated JRun" install does not support IIS connectors. If you are using full JRun or ColdFusion, visit the link below:
http://www.macromedia.com/go/96611248
For other application servers, see their respective documentation.

2. Can I dynamically instantiate a WebService or HTTPService in ActionScript?
Flex 1.5 does not support this. First declare the tags in MXML and then manipulate the URLs, request objects, and so forth using ActionScript.
See the simple "Beginner's Tips" examples on www.cflex.net, and see the Cairngorm Framework's Service Locator pattern for a more fully realized solution.

3. Can I load CSS style sheets dynamically at runtime?
Dynamic loading of CSS files is not supported in Flex. CSS in Flex is processed on the server side during MXML compilation rather than on the client side at runtime.
There is a trick though: A CSS file can be compiled into a separate SWF file and loaded dynamically into the application using the Loader component. Read more about this topic on Manish Jethani's blog at http://www.livejournal.com/users/mannu/286686.html.

4. When I set visible="false", the component still takes up space and appears in the tab order. Why is that?
You can often achieve the "display=none" effect by setting the height/width to zero when you set it invisible, and then set it back to a fixed value or to undefined when you make it visible again.

5. Why are my ValueObject member variables undefined in the results from my RemoteObject requests?
Flash Player deserializes objects in a special order that can confuse developers used to object serialization from other RPC systems. When a strongly typed object is returned to the player, it first creates an instance from the prototype of the registered class without calling the constructor. It then populates the object with the properties sent in the result. Finally, it calls the constructor without arguments.
If your ValueObject constructor expects arguments to initialize an instance, be sure to check whether arguments were actually sent to the constructor before overriding member variable values.
Note: Flash Player does not currently honor getter/setter properties in object serialization or deserialization.

6. Why do strongly typed objects appear as "undefined" in the NetConnection Debugger?
The NetConnection Debugger is an old utility from the early days of Flash Remoting that some developers still find useful. It has an issue, however, displaying types that have been registered with Object.registerClass(). If your Flex server is installed locally, we suggest enabling server-side "debug" level logging in /WEB-INF/flex/gateway-config.xml to watch the raw trace information in the Flex server console/logs from the AMF Gateway as it processes your RemoteObject requests.
Flex Builder also includes a Network Debugger that allows you to monitor AMF traffic.

7. How do I get access to the J2EE session from my RemoteObjects?
The AMF Gateway provides access to the current HttpServletRequest instance in a thread local variable. The session can be obtained from the request, as follows:
flashgateway.Gateway.getHttpRequest().getSession();

8. Can I resize the Internet Explorer browser window from Flex?
Use getURL() to communicate with JavaScript in the HTML wrapper:
getURL('javascript:window.resizeTo(1050,900)');
Note: This solution has been tested only in Internet Explorer.

9. Event Bubbling
Ans: The mechanism through which event objects are passed from the objects that generates an event up through the containership hierarchy

10. Can Flex applications communicate with each other on the client?
See the LocalConnection API in the documentation.

11. Is double-clicking supported on various components?
Unfortunately, double-clicking is not supported by default. If you wish to add this functionality to, say, a List or DataGrid component, you will have to add the following ActionScript 2.0 code to your application:
// used to detect a double-click
var someTimestamp:Number;

...

/**
* Double-click handler for some DataGrid component.
*/
public function doubleClickHandler( evt:Object ):Void {
var now = getTimer();

// we got a double-click
if( ( now - someTimestamp ) < sometimestamp =" now;">

12. Why are there errors with the macromedia.css.LocatorParser class and WebLogic?
WebLogic ships with its own version of the fop.jar, which in turn includes the batik.jar, which is older and breaks Flex. To resolve this issue, remove the fop.jar from the CLASSPATH in the startWebLogic.cmd file. This may apply to non-WebLogic servers as well, where batik.jar was included.

13. What does "The URL is not in the Proxy's whitelist" mean?
The whitelist is a security feature in Flex that requires you to define explicitly which URLs a data service call can access. You set this by editing the following file: ...\[flexroot]\WEB-INF\flex\flex-config.xml There are three sections, one each for WebService, HTTPService, and RemoteObject. Be sure you edit the correct section! Each has a subsection which contains nodes. To enable a URL for access by a Flex dataService call, enter that URL between the tags. For development phase only, you can allow global access with the wildcard rows. The flex-config file is heavily commented. Open it up and you will see more detailed instructions there.

14. Sometimes, if I don't move the mouse, "click" and "mouseDown" don't work. Why is that?
This is a focus issue with Flash Player; usually when the UI changes "underneath" the mouse pointer, as in a ViewStack navigation where the buttons are in the same screen location. One workaround is to add the following property to the Button tag: trackAsMenu="true"

15. Can I make my own right-click (or context) menu?
Flex—or, more correctly, Flash Player—has the notion of a context menu that you can configure. Check out the Flex LiveDocs for details about the ContextMenu class: http://livedocs.macromedia.com/flex/15/flex_docs_en/00001276.htm However, there is a limitation of the current player (Flash Player version 7 and earlier) where the context menu can only be shown on components inside the root container (such asmx.core.Application.application). You can get around this by having the context menu on the root object and changing it dynamically at runtime depending on which component the mouse is over—but this is a bit more work for you.

16. Why is myTreeNode.label or myTreeNode.attributes.label undefined?
Make sure you use the TreeDataProvider methods to modify a node. Don't rely on the node being XML. For example, the above should be myTreeNode.getProperty("label")instead.

17. When I add or modify an item in my dataProvider, why doesn't it show up in my DataGrid?
Low-level methods like Array.push() or myArray[0] = "whatever" do not cause the dataProvider's modelChanged event to fire. When you work with a dataProvider, it is always best to use the dataProvider API. In the above example, you might code: myDataProvider.addItem(myItemObject) to add an item or use editField() to modify a value programmatically. See dataProvider in the Flex LiveDocs:http://livedocs.macromedia.com/flex/15/asdocs_en/index.html Alternatively, you can call myDataProvider.modelChanged yourself or reassigndataProvider to the control, as follows: myDataGrid.dataProvider = myDataProvider;

18. myTree appears just fine but why can't I access the node attributes?
Select a node in your myTree. In ActionScript, you can reference this node by using the following code: myTree.selectedNode; To access the attributes of the node, use the tree DataProvider API. These methods will work for any format dataProvider item, which might be an object, array, or XML node. The following example might work: myTree.selectedNode.attributes.myAttribute But the following example is far more reliable: myTree.selectedNode.getProperty("myAttribute"); See dataProvider and treeDataProvider in the Flex LiveDocs: http://livedocs.macromedia.com/flex/15/asdocs_en/index.html

19. Can I create an application in Flex, compile it into a stand-alone SWF file, and run it on a machine without the Flex server?
This is technically possible. However, the Flex 1.5 license requires the presence of a Flex server, and the SWFs compiled using the Developer version of Flex expire in one day. Review the license carefully. If you have a special business case for doing this, contact your Adobe sales rep; they are often willing to discuss special agreements.

20. How do I pass parameters to a pop-up window?
Tracy Spratt has put together a very simple example that you can download here: • http://www.cflex.net/ChannelFiles/1/popupexample2.zip (ZIP, 4K) You can read more details regarding this solution at:http://www.cflex.net/showfiledetails.cfm?objectID=197

21. What does "Branch between ... and ... around line ... exceeds 32K span" mean and how do I get rid of it?
Don't panic. Your application is not too big for Flex to handle. True, the 32K limit is really a Flash Player limitation to the size of certain structures, such as if blocks and for loops. But you don't really care about that right now because you don't have any direct control over those things. Here is some information that will help you get back to coding. There are two main reasons why you might encounter the 32K issue. The primary cause—and the one to address first—is the architecture of your application code. The 32K error message asks you to "refactor" your code. Refactoring is essentially the process of modifying the structure of your source code while keeping the same functionality. In the Flex world, this means moving some parts of the code out of a main file and into separate components. One way to do this is to use custom MXML components. So instead of, say, having several hundred lines of MXML in a child container of a ViewStack, you put that MXML code into its own component file and have just a single line in the ViewStack reference it. If you do that for all the ViewStack children, 1000 lines of code can easily become 30. Decreasing the total number of visually rendered MXML tags in a single file will help avoid the 32K limit. Another type of refactoring is to move ActionScript code into its own class. Important note! Just putting the ActionScript code into a file and then using the#include directive or the mx:Script source="myscript.as" method to include the code will not help with the 32K problem. You must create a true ActionScript class that contains the functionality. At 2000 lines of mixed MXML and ActionScript code, you are in danger of the 32K error. We have not found an upper limit whatsoever to code length in a class. The second cause of the 32K error is not your fault. During compiling, Flex generates ActionScript code out of your MXML source. It then compiles that into the Flash SWF file. During that process it decides how to break up your source code and generate the ActionScript class code. In Flex 1.5 it doesn't always make the right decision, and so the result is the 32K error. If you are confident that your application is already efficiently "refactored," and you suspect that you might be at one of these boundary conditions, first try compiling the app with ?debug="true" in the URL. If the app compiles, then you are surely at a boundary condition. What happens is that debugging adds code to your source during generate/compile. This additional code causes Flex to change the structure of the ActionScript classes so that the application does not reach the 32K limit. Hmm, more code? Yeah. Try just adding 50 or so lines of code, even if it is bogus code. Usually, this will get you working. When you add more real code, remove the bogus code because you won't want that in your production code! We have found a third cause of the 32K limit error: There are some syntax errors that get by the compiler, yet cause the 32K limit error. At this time there is no example of the kind of syntax that can cause this problem, but you should be aware that it is possible. A final hint: After hitting a 32K error and trying one of the previously described solutions, and if the error still occurs, delete the temporarily generated ActionScript code. It is located in ..\MyAppServer\flex(flexroot or contextroot)\WEB-INF\flex\generated\*. You can delete all the folders safely (make sure to restart your Flex server). This can be an aggravating and somewhat scary problem, and it always seems to happen just before an important demonstration. Just use good, modular design and remember the bogus code trick. Adobe has stated that it is committed to improving this situation in the next release.

22. What does "Warning: Changes to unknown property, ..., will not be detected" mean and how do I get rid of it?
Generally speaking, binding needs type information to set up its change detection functionality. Anything that hides this information can cause this problem. Here are some ways around this problem: • Don't use mx.core.application.application.myVariable in binding. • If you are passing a reference to some component into another component through public properties, type the property variable definition as specifically as possible. If you pass a reference to the application itself, the type is the MXML filename. • When using "dot.down" notation to specify a property in an object or model, cast it to a type:text="{String(myObject.whatever.firstName)}"

23. Is there a Rich Text Editor?
With the current Flex 1.5 component set, there is no Rich Text Editor. There are some limitations in the current version of Flash Player (Flash Player 7 and earlier) that make such an editor difficult, although there are implementations that people have used. Adobe has heard many requests for a Rich Text Editor and has indicated that there might be better support for it in a future release. There is a third-party component called FlashTextEditor that you can integrate. There are plans for Flex 2 to include the mx:RichTextEditor tag.

24. How do I run Flex as a service?
Flex is not a server that you deploy and run. It is simply deployed as part of your web application. So it will work, no matter which web container you are using: Tomcat, JRun 4, WebLogic, and so forth. To learn how to deploy Tomcat, JRun 4, or any other Java server as a service, refer to the appropriate documentation for the server you are using.

25. Does Flex work on my platform?
Probably. Search the archives if you have a specific question about your platform before posting to the list.

26. How do I get Flex to query my database?
Flex does not have any native database integration functionality. You must have your own server-side tier that provides the database-access tier and sends the data back to Flex through one of the following protocols: • RemoteObjects: This is the fastest. It communicates with server-side EJBs or POJOs using AMF, a binary compressed format. • HTTPService: This one uses the HTTP protocol. Sources can be JSP, ASPx, .NET, or any URL that returns HTTP. • WebService: This is the slowest. It uses the SOAP protocol. Sources can be .NET or any web service.

27. I'm sending my request, and I see the data traffic in the command window, but why is the result always empty? You are probably trying to read the result immediately after the send(), right?
You're expecting synchronous behavior? You can't do this. See the next question, "How do I make synchronous data calls?"

28. How do I make synchronous data calls?
You cannot make synchronous calls. You must use the result event. No, you can't use a loop,setInterval, or even doLater. This paradigm is quite aggravating at first. Take a deep breath, surrender to the inevitable, resistance is futile. There is a generic way to handle the asynchronous nature of data service calls, called ACT (Asynchronous Call Token). Search for this in the Developing Flex Applications LiveDocs for a full description. Here it is in a nutshell.

This example uses HTTPService but will be similar for RemoteObject and WebService:
1. Create a function to handle the data return, like onResult().
2. In the HTTPService tag, put this function name in the result property and pass "event" in too.
3. Invoke the call in the script:
4. //invokes the call to the HTTP data service
5. var oRequestCallbject = app.mxdsGetData.send(oRequest);
6. //Next, define a string to identify the call. We will use this string value in the result handler.
7. 8. oRequestCall.MyQueryId = "WhateverIWanttoUseToIdentifyThisCall" ;
9. //Yes, you CAN set this AFTER you invoke send()
10. In the result handler, which will be called every time the data service call returns, identify what the returned data contains, as follows:
11. var callResponse = oEvent.call; //get the call object
12. //gets the value of this property you set in the call
13. var sQueryId = callResponse.MyQueryId; //will be "WhateverIWanttoUseToIdentifyThisCall";
14. trace(sQueryId); You can use the sQueryId value in a switch to do the correct processing. Alternatively, you can pass reference to a handler function directly.

29. When I have only a single record, why doesn't it appear in my DataGrid?
This is a known issue that is caused by the inability of Flex to differentiate between an object and an array with a single row. The solution is to always use toArray(), as in the following examples: In MXML: {mx.utils.ArrayUtil.toArray(modelAccidents1.accidents.accident)} The inline format: dataProvider={mx.utils.ArrayUtil.toArray(testSrv.result.result.error)} In ActionScript: myControl.dataProvider = mx.utils.ArrayUtil.toArray(testSrv.result.result.error)

30. I have two alerts in my code, but why do they appear in reverse?
Actually, it is worse than that. Alerts and "modal" pop-up windows are not truly modal. They prevent user interaction with the interface, but they do not block code execution. What happens is that both alerts appear; the second one on top of the first. To get the behavior you want, use events and handlers. Your code must display the alert, or modal pop-up window, and then end. When the user dismisses the prompt, you then complete the processing. You should be able to find some examples of how to do this on one of the sites listed in the Resources section of cflex.net.

31. Why are the columns in my DataGrid in some strange order?
The order is typically the reverse of the order in which they were added. If you need a specific order, specify that and many other good things by using DataGridColumn tags. See the Flex LiveDocs for more information about this.

32. Can I embed HTML in my Flex application?
Flex supports a limited subset of HTML in its TextArea and some other text-related classes. There is also a new article by Christophe Coenraets on his blog discussing how to fake HTML with an IFRAME: http://coenraets.com/viewarticle.jsp?articleId=95

33. How can I make Flex Builder faster?
For Flex 1.5: To improve Flex Builder performance, it is best to disable the Design view. This can only be done in Flex Builder 1.5. To do so, please follow these steps: 1. Select Preferences > Edit.
2. In the General section, deselect the Enable MXML Design View option.
3. Click OK.
For Flex 2: Deselect the Build Automatically option. Deselect Project > Build Automatically option from the menu and you will see an increased performance, especially during save operations. Also, if you're not using a project, make sure you close it, making more memory available.

34. Why doesn't the Flex Builder debugging tool stop at breakpoints in components?
The safest way to set breakpoints in component files is to use the Files list. Start the debugging session, navigate in your application to where you want to start debugging. Click the Files button on the Debug Toolbar (select Menu Debug > Files). Select the component you want, usually the MXML or ActionScript files.
The list strips out underscores in filenames and can be very long, but this method always works. Flex Builder will open a temporary file and set the breakpoints. Now you can proceed.

35. Are there frameworks available for Flex?
Yes there are:
• Cairngorm: http://www.iterationtwo.com/open_source_cairngorm.html
• FlexUnit: http://www.iterationtwo.com/open_source_flexunit.html
• SynergyFLEX: http://www.mossyblog.com/archives/473.cfm (this link is for 1.0.0a)
• ARP: http://www.osflash.org/projects/arp/about
• AsUnit: http://www.asunit.org

36. Is vertical text possible in Flex?
Yes, that is possible. You have to embed the font outlines and then use the _rotationproperty of the control.
For example, you can use the Label _rotation property. But you would need to embed the font if you want to rotate a Label, TextInput, or TextArea:


@font-face
{
fontFamily:myfont;
src:url("file:///c:/windows/fonts/Georgia.TTF");
}

37. How do I print custom components in Flex 1.5? How do I customize printing in Flex 1.5?
See the following resources:
• Printing only a record set from a datagrid (Flexcoders list)
• Printing whole lotta pages? (Flexcoders list)
• Tips for using PrintingJob in Flex 1.5 by Lin Lin
• The Secret to Printing in Flex by Darron Schall
• Printing Custom Flex components using PrintJob by Abdul Qabiz

38. Can I upload files from a Flex 1.5 application?
Yes, see the following resources:
• Flex applications using Flash Player 8
• Flex applications using Flash Player 7
• File Uploading in Flex Using ColdFusion and JavaScript by Jack D. Minster

39. Can I call an ActionScript function in a Flex 1.5 application from JavaScript?
There is no direct way to call an ActionScript function from JavaScript with Flex 1.5 applications running Flash Player 7. Flash Player 8 has a new feature called ExternalInterface that allows two-way communication between ActionScript and JavaScript.
Because Flex 1.5 applications cannot take advantage of some of the new features in Flash

Fte: http://iloveflex.blogspot.com/

Flex 1.5 Con el branch a cuestas...

Ultimamente andamos con el branch a cuestas, a la hora de añadir codigo en otra parte de la aplicación nos vemos que en otras partes nos aparece este dichoso error.

Aqui dejo información referente al branch:



24. What does "Branch between ... and ... around line ... exceeds 32K span" mean and how do I get rid of it?
Don't panic. Your app is NOT too big for Flex to handle. True, the 32k limit is a real Flash Player limitation to the size of certain structures like if blocks and for loops. But you don't really care about that right now, because you don't have any direct control over those things. Here is some information that will help you get back to coding:

There are two main reasons you might the 32k issue. The primary cause, and the one to address first, is the architecture of your application code. The 32k error message asks you to "refactor" your code. Refactoring is essentially the process of modifying the structure of your source code while keeping the same functionality. In the Flex world, this means moving some parts of the code out of a main file and into separate components. One way to do this is to use
custom mxml components. So instead of, say, having several hundred lines of mxml in a child container of a ViewStack, you put that mxml code into its own component file, and have a single line in the ViewStack to reference it. Do that for all the ViewStack children and 1000 lines of code can become 30. Decreasing the total number of visually rendered mxml tags in a single file will help avoid the 32k limit. Another type of refactoring is to move ActionScript code into its own class. Important note! Just putting the AS code into a file and then using the #include directive or the mx:Script source="myscript.as" method to include the code will NOT help with the 32k problem. You MUST create a true AS class that contains the functionality. Around two thousand lines of mixed mxml and AS code and you are in danger of the 32k error. I have not found an upper limit whatsoever to code length in a class.

The second cause of the 32k error is not your fault. During compile, Flex generates AS code out of your mxml source. Then it compiles that into the Flash swf. In that process it makes decisions on how to break up your source and generate the AS class code. In Flex version 1.5, it doesn't always make the right decision, and the result is the 32k error. IF you are confident that you app is already efficiently "refactored", and you suspect you might be at one of these boundary conditions, first try compiling the app with ?debug="true" in the url. If the app compiles, then you are surely at a boundary condition. What is happening is that debug adds code to your source during generate/compile. This additional code causes Flex to change the structure of the AS classes so that the 32k limit is not hit. Hmm, more code? Yeah. Try just adding 50 or so lines of code, even if it is bogus. Usually, this will get you working. Now, when you add more real code go on and remove the bogus stuff, you don't want it in your production code!

A final hint. After hitting a 32k error, and trying one of the above solutions, if you still get the error, delete the temporary generated as code. It is located in ..\MyAppServer\flex(flexroot or contextroot)\WEB-INF\flex\generated\*. You can delete all the folders safely (make sure to restart your Flex server).

This can be an aggravating and somewhat scary problem, and it always seems to happen just before an important demo. Just use good, modular design, and remember the bogus code trick. Macromedia has stated a committment to improving this situation in the next release.

fte: http://www.cflex.net/showfaq.cfm#Question365


File Sizes or Form Limitations on Flash Forms
Posted At : December 16, 2005 6:41 PM | Posted By : Mark Kruger
Related Categories: CFMX 7 Flash Forms
Ask a Muse Asks:
Do you know if there are limitations to either the file-size or the number of fields in a flashform?

There is indeed a limitation to the "flex compiler" that is included with CFMX. The limit is either 32k or 64k depending on who you ask. I cannot find (off hand) the actual MM document that describes the limit. The limit is to the amount of "compiled actionscript". It is affected by pretty much everything you do in the CFFORM tag. Even adding a style can cause a change in the size.

The leads to the unfortunate situation where you are refreshing a form over and over trying to get pixels to line up or a font to size correctly while you hurl epithets at the screen in frustration because of the uninformative error message:

Branch between 71782 and 104556 around line 0 exceeds 32K span. If possible,
please refactor this component.
After calling MIT you realize that refactoring means to reduce the size of the actionscript in the file.
Keep in mind that flash forms are useful in certain situations - a straightforward wizard, a couple of date boxes, a series of dropdowns etc. Macromedia has included the product to "wet your appetite" regarding the power of Flex. Flex is indeed impressive and worth examining as an option. Sad to say the price tag is simply too great and does not match the level of need in most cases.

If you consult Dr. Google you may find there are numerous work arounds for the 32(64)k limit (some people say just keep adding more components to the form).

Ironically - I used to get this error quite frequently as I have some pretty hefty flash forms on my intranet - but ever since the 7.0.1 updater I haven't hit it once.
# Posted By todd | 12/16/05 8:41 PM
Todd - Thanks for the tip. How does adding more components help?
# Posted By mkruger | 12/17/05 9:45 AM
Not quite sure actually. I wish I could offer up a proper technical explanation but adding more components has honestly worked for me. Will it always work? Don't know - I wonder if once a certain size threshold has been exceeded the flex compiler stops checking the size??? Don't honestly know :( - But while developing I've even gone as far as temporarily copying one of my tab navigators (full of different form elements), renaming all of them to avoid name conflicts and hiding it in a height=0 width=0 formgroup to temporarily allow me to compile the form while I'm adding more code.
# Posted By Todd | 12/17/05 10:42 AM
according to adobe, During compiling, Flex generates ActionScript code out of your MXML source. It then compiles that into the Flash SWF file. During that process it decides how to break up your source code and generate the ActionScript class code. In Flex 1.5 it doesn't always make the right decision, and so the result is the 32K error. They also suggest adding bogus code to solve the problem. Or adding ?debug=true to the url to test the compiler issue
# Posted By Michael White | 7/6/06 11:11 AM
Hi Guys,
I have done quite a bit of Flash Forms development and ran into actually three errors. One at the 32 K limit... One just before the 64K limit and then a final one at the 64K limit... The 32K message appears to be a warning and you can indeed get past it by just continuing to add components. Just make sure that your form isn't dynamic enough to drop below the 32K limit depending on the data served up for the page. The result is a blank page on production if you have the debug turned off...
The second error or the 64K warning is also just a warning but you really do not have much room left. The final 64K error appears to be the point of no return. I could not continue past the final 64K limit no matter what I did. I had to refactor my form. You might be suprised as to what will make a difference. Border on formgroups take some space, the built in CF validation takes a lot and even margin settings like indicatorGap takes a bit.
I have some pretty extensive forms in the app I am working on and have only ran into the final 64K once. I do however run into the 32K warning from time to time and just program past it.:>
Hope this helps!
Ed
eskinner@ourams.com
www.ourams.com;
# Posted By Ed | 8/7/07 8:26 AM
ive been encountiring the 32k limit. just manipulate everything in your form and your surely will get override the error. i confirmed the comments before me. thanks.
# Posted By kapitannwel | 8/11/07 2:52 AM
most of the times, even simple manipulation on the form's content will work. changing width, height, type, etc. stupid as it may seem but it works.

Fte: http://www.coldfusionmuse.com/index.cfm/2005/12/16/flashform.file.size

miércoles, 9 de junio de 2010

Audiolibros

Magnifica colección de audiolibros de temas variados:

enlace aqui

E-Books

Enlace con ebooks

aqui

Como añadir codigo en Blogger

A veces nos encontramos con el problema de cómo incluir código HTML, ActionScript, javascript, etc... en nuestro blog.

Una posible solución la da la siguiente página: SimpleCode Gracias a esta web podemos convertir nuestro código a un texto interpretable por Blogger.

Un saludo.

Como agregar columnas a un datagrid dinamicamente.

Como agregar columnas a un datagrid dinamicamente. March 5
ARCHIVADO EN FLEX, TUTORIALES POR OSCAR CORTES | 11 COMENTARIOS |

Este es un caso común cuando se quieren adicionar columnas dinamicamente a un datagrid. El caso de uso, puede que se tienen que agregar columnas a un datagrid de acuerdo a alguna selección del usuario. El código principal de cómo hacerlo este en la función agregarDataGridColumn de este ejemplo. Lo demás son componentes auxiliares para mostrar el ejemplo. En este caso, se presentan solo dos columnas por default en el datagrid de cinco disponibles. Las tres restantes pueden agregarse dinámicamente presionando un botón. Hasta donde puede llevarse este ejemplo? Bueno se me ocurren algunas ideas.

Por ejemplo:

- En vez de botones se pueden mostrar las columnas restantes en una lista. Y tal vez agregarlas con Drag&Drop?
- Validar que no se agregue la columna mas de dos veces.
- Adicionar itemRenderers dinámicamente.

Que otras ideas se les ocurren?


<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal"

verticalAlign="middle">



<mx:Script>

<![CDATA[

import mx.controls.dataGridClasses.DataGridColumn;

private function agregarDataGridColumn(dataField:String):void {

var dgColumna:DataGridColumn = new DataGridColumn(dataField);var columnas:Array = dataGrid.columns;

columnas.push(dgColumna);

dataGrid.columns = columnas;

}



]]>

</mx:Script>

<!-- Los datos. En este caso un Array de objetos-->

<mx:ArrayCollection id="datosArrayColl">

<mx:source>

<mx:Array>

<mx:Object nombre="Ryan" apellido="Stewart" calle="adobe" pais="us" departamento="IT"/>

<mx:Object nombre="Steve" apellido="Jobs" calle="apple" pais="us" departamento="IT"/>

<mx:Object nombre="Bill" apellido="Gates" calle="microsoft" pais="us" departamento="IT"/>

<mx:Object nombre="Britney" apellido="Spears" calle="ninguna" pais="us" departamento="espectaculos"/>

<mx:Object nombre="Jessica" apellido="Simpsoms" calle="smith" pais="us" departamento="cine"/>

<mx:Object nombre="Barack" apellido="Obama" calle="president st." pais="us" departamento="politica"/>

</mx:Array>

</mx:source>

</mx:ArrayCollection>





<mx:DataGrid id="dataGrid"

dataProvider="{datosArrayColl}"width="

400" rowCount="6">

<mx:columns>

<mx:DataGridColumn dataField="nombre" />

<mx:DataGridColumn dataField="apellido" />

</mx:columns>

</mx:DataGrid>



<mx:VBox >

<mx:Button label="Agregar Calle" click="agregarDataGridColumn('calle')" />

<mx:Button label="Agregar Pais" click="agregarDataGridColumn('pais')" />

<mx:Button label="Agregar Departamento" click="agregarDataGridColumn('departamento')" />

</mx:VBox>



</mx:Application>


Fte: http://www.holaflex.com/?p=64

miércoles, 2 de junio de 2010

VideoTutoriales de BlazeDS

Fte: http://www.atomic-noodle.com/blazeds/

Flex y JAVA con BlazeDS

Flex y JAVA con BlazeDS
Publicado por Juan Sebastian
Uno de los grandes enemigos de Flex, es su “imposibilidad” para acceder directamente a las bases de datos o al disco duro de usuario cuando se utiliza en entornos web (SWF), por lo que siempre es necesario utilizar lenguajes diferentes del lado del servidor, lenguajes como JSP, PHP, ASP, ColdFusion entre otros, y en la mayoría de las oportunidades se hace por medio de archivos XML, que para iniciar son muy buenos, pero cuando se manejan grandes volúmenes de datos, es necesario manejar herramientas más poderosas, por eso es que vamos a trabajar con BlazeDS, como puente entre Flex y JAVA.





--
Antes de empezar, tenemos que definir que es BlazeDS, y porque debemos trabajar con él.

BlazeDS: es un servidor remoto, hecho con JAVA para la interacción entre los lenguajes ActionScript 3.0 y JAVA, sirve como un puente de comunicación que se encarga de “traducir” de un lenguaje a otro, para que la interacción entre lenguajes y tecnologías sea transparente y no sea necesario hacer trucos raros a la hora de enviar información de una lado para otro.

¿Cómo empiezo? Es fácil (no me pareció tan fácil al comienzo, sufrimos mucho con unos aprendices para lograrlo, pero esto es para que no le pase a los demás…muchos soldados murieron en la guerra solo para que TU, si TU puedas hacer las cosas sin dificultades, lo menos que puedes hacer es al final de esto dejar tus comentarios!... ese fue el último deseo de los caídos en guerra), primero que todo debes ir a la página de proyectos de código abierto de Adobe, donde encontraras información del SDK de Flex, del proyecto BlazeDS y el proyecto Tamarin, que es un proyecto en conjunto con Mozilla Foundation para el manejo del estándar ECMAScript para el lenguaje ActionScript 3.

Lógicamente debemos ir al link de BlazeDS, donde se encuentra una leve descripción de la herramienta, el link de descarga de los archivos ejecutables y del código fuente del proyecto. Después de presionar donde dice Download BlazeDS now, iremos a la página de detalles de la descarga, donde se explican los términos de uso y nuevas posibilidades para descargar buscamos la primera opción (Release Builds), esto nos lleva a una nueva página donde debemos descargar el BlazeDS Turnkey.

Es un archivo .ZIP que contiene una serie de carpetas y archivos, .WAR, estos últimos archivos, son aplicaciones que nos permiten ver ejemplos de prueba, una consola para el monitoreo de nuestros proyectos y el BlazeDS que cuenta con el código que debemos utilizar para crear los proyectos, sin embargo no vamos a utilizar estos archivos.

Antes de empezar recomiendo crear una copia de seguridad del paquete que descargamos, ya que por efecto de las pruebas varios de esos archivos se pueden dañar.

Después de hacer la copia de seguridad vamos a la carpeta Tomcat, que contiene las carpetas habituales dentro de un Servidor Tomcat Instalado, la idea de este paquete, es instalarlo ya que tiene incorporadas todas las herramientas de BlazeDS sin embargo en ocasiones esto resulta muy dispendioso y genera muchos problemas, así que no vamos a utilizar este tomcat sino que vamos a utilizar uno instalado con el instalador del tomcat que se puede encontrar en su sitio web.

Nota: a la hora de instalar el apache tomcat, recuerda poner usuario y contraseña, preferiblemente admin, admin, ya que es la configuración más utilizada.

Dentro de la carpeta Tomcat que estábamos viendo, vamos a ir a esta ruta: Tomcat/webapps/samples/ en ella encontraremos todos los ejemplos que vienen con este paquete y dos carpetas muy comunes de los proyectos WEB de java, encontramos la carpeta WEB-INF y META-INF, ahora copiamos la carpeta WEB-INF y la pegamos en una nueva carpeta, que puede estar en cualquier sitio dentro de nuestro sistema de archivos, recomiendo poner una carpeta llamada con el nombre de nuestro proyecto, luego una nueva carpeta con el mismo nombre, que es donde vamos a almacenar el código del proyecto y dentro de esa carpeta ponemos la carpeta WEB-INF que acabamos de copiar.

En este caso voy a trabajar con esta ruta: D:/TestBlazeDS/TestBlazeDS

Para la carpeta WEB-INF esta: D:/TestBlazeDS/TestBlazeDS/WEB-INF

Además de eso debemos crear una carpeta para las páginas así: D:/TestBlazeDS/TestBlazeDS/WebPages

Ahora abrimos el IDE Netbeans, también es posible hacerlo con Eclipse o el IDE de desarrollo que utilicen para JAVA, primero que todo debemos crear un nuevo proyecto de JAVA de esta manera:

En Netbeans, Proyecto Nuevo, en categorías seleccionamos JAVA Web y en los tipos de proyectos, ponemos la opción Aplicación Web con código existente (Web Application with existing sources), siguiente.


En la siguiente ventana: Nombre y Ubicación, dejamos los valores de este modo:


Location: Se busca la carpeta que creamos dentro del disco D en mi caso

D:\ TestBlazeDS\ TestBlazeDS

Project name: Es el nombre de nuestro proyecto, podemos poner cualquier nombre, sin embargo es preferible manejar el nombre de la carpeta.

TestBlazeDS

Project folder: Es la misma ubicación del proyecto.

D:\ TestBlazeDS\ TestBlazeDS

Presionamos siguiente, ahora se deben poner los valores del nuevo servidor.



La última ventana de configuración del proyecto es quizás la más importante, debemos dejarla de esta manera:


Web Pages Folder: D:/TestBlazeDS/TestBlazeDS/WebPages

WEB-INF content: D:/TestBlazeDS/TestBlazeDS/WebPages/WEB-INF – Se debe especificar la carpeta WEB-INF que habíamos copiado hace un rato.

Libraries Folder: D:/TestBlazeDS/TestBlazeDS/WebPages/WEB-INF/lib – Se especifica la ubicación de las librerías, que se encuentran dentro de la carpeta WEB-INF.

Source Package Folders: D:/TestBlazeDS/TestBlazeDS/WebPages/WEB-INF/src -- Se indica la ubicación del código de nuestro proyecto, debe ser la carpeta src.

Presionamos terminar y ahora creamos un nuevo paquete llamado Test y una clase de prueba donde debemos crear un método simple que retorno un valor sin recibir parámetros y otro que reciba parámetros y retorne un dato.



Tenemos dos métodos, el primero retorna un String y el segundo recibe un par de enteros y devuelve la suma de los dos.

Al tener los métodos listos, ahora debemos registrar la clase en un archivo de configuración. El archivo se encuentra en WEB-INF/flex/remoting-config.xml, al abrirlo debemos ir al final del archivo, antes del último nodo y poner esto:



Nota: No olviden poner el atributo id para el primer nodo.

Finalmente en el archivo web.xml que se encuentra dentro de la carpeta Configuration Files, debemos poner esto al final, y antes del último nodo:



Limpiamos y construimos el proyecto y lo cargamos en el Tomcat, por medio del archivo .WAR que se crea cuando seleccionamos la opción Clean And Build, este es todo el proyecto por parte de JAVA.

Ahora, abrimos Flash Builder 4 (con respecto a Flex Builder 3 no hay muchos cambios) y creamos un nuevo proyecto WEB y en la opción de tecnologías del servidor, seleccionamos J2EE, Use remote object Access service y seleccionamos BlazeDS.

Presionamos siguiente y ahora debemos configurar la información del servidor de esta manera:

En Root Folder: C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\TestBlazeDS

En Root URL: http://localhost:8080/TestBlazeDS/

Context Root:/TestBlazeDS/

Cuando hacemos esta configuración, debemos presionar el botón Validate Configuration, que evalúa si la información es adecuada y si se puede hacer la conexión, en la parte inferior el campo Output Folder, debe quedar asi:

C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\TestBlazeDS\TestBlazeF-debug


Presionamos finalizar ya que no vamos a añadir librerias al proyecto y creamos un formulario de esta manera:





RemoteObject, es el encargado de generar la conexión entre JAVA y Flex, y el atributo destination debe llamarse igual a como está en la configuración de JAVA. finalmente agregamos el código:


El método init() se llama desde la propiedad applicationComplete de la etiqueta Application, el método saludar() es llamado por el evento click del botón saludar y el método sumar() es llamado por el botón sumar.

Esto es TODO, realmente es solo un poco comparado con todo lo que permite hacer BlazeDS, en un próximo tutorial mostraré como enviar objetos entre clases, y manejar vectores de JAVA como proveedores de datos para controles de Flex.

Espero que les sirva, y dejen sus comentarios!


Fte: http://undiaparahablar.blogspot.com/2010/03/flex-y-java-con-blazeds.html

martes, 1 de junio de 2010

Instalacion TFS Basic

Fte: http://www.lfraile.net/post/Instalacion-de-TFS-Basic.aspx

Documentación de TFS

Fte: http://msdn.microsoft.com/es-es/library/ms181238(VS.80).aspx

Blog de TFS

Fte: http://www.tfslog.com/

Visual Studio Highlights

Fte: http://msdn.microsoft.com/es-es/vstudio/default.aspx

Visual Studio Highlights


Visual Studio 2010 Trials and Downloads
Check out the wide range of Visual Studio 2010 trials and downloads available. There are many options for you to choose from.

Survey: Top Tasks in the ALM Space
10 minutes is all we need! Scan a list of about six dozen items from top to bottom quickly and select your five most important tasks. Your votes will drive how the MSDN Library structures their technical information.

Software Engineering with Visual Studio
Read this draft manuscript from Sam Guckenheimer and Neno Loje that presents information in a style that will help all team members get a sense of each other's view-point.

Webcast (June 6): Managing Requirements with TFS 2010
Register to attend Notion Solutions' upcoming webcast that will provide guidance on how to maximize your overall requirements management process.

Case Study: 3M Streamlines Development
Check out this five page case study that illustrates how 3M was able to streamline and accelerate its development processes so it can speed the delivery of high-quality code to its business customers.

MSDN Virtual Lab: Planning your Projects with Team Foundation Server 2010

Fte: https://cmg.vlabcenter.com/default.aspx?moduleid=da948629-b7bb-404a-8328-ef70b1552178

MSDN Virtual Lab: Planning your Projects with Team Foundation Server 2010

Team Foundation Installation Guide for Visual Studio Team System 2008

Fte: http://www.microsoft.com/downloads/details.aspx?FamilyID=ff12844f-398c-4fe9-8b0d-9e84181d9923&displaylang=en

Team Foundation Installation Guide for Visual Studio Team System 2008

Team Foundation Administrator's Guide

Fte: http://www.microsoft.com/downloads/details.aspx?familyid=2AED0ECC-1552-49F1-ABE7-4905155E210A&displaylang=en

Guía de Team Foundation Administrator's Guide

Estoy leyendo: Professional Team Foundation Server

Fte:http://www.lfraile.net/post/Estoy-leyendo-Professional-Team-Foundation-Server.aspx

Últimamente estoy que no paro L, y por eso tengo un poco abandonado el blog, pero bueno. Pues nada aprovechar un ratito que he tenido hoy, para hacer un comentario sobre el libro que estoy leyendo (ya me queda poco para acabarle), Professional Team Foundation Server , y que en parte (bueno es lo único que he tenido tiempo de usar), estoy usando para prepararme el examen Beta de Team Foundation Server.
El libro, es, al contrario que el último que leí, técnico sobre TFS, algo que creo que ya iba haciendo falta, cubre todos los aspectos de una implantación de Team Foundation Server, si bien, yo sigo recomendando, que se contrate la ayuda de alguien con experiencia en implantaciones de TFS, si nos decidimos a usarlo. Empieza desde la planificación del hardware, software, licencias, etc que vamos a necesitar para la implantación, que a veces es un poco arduo encontrar la información de licencias, en la web, aquí aparece todo bastante bien explicado.
También, punto muy importante, cubre la parte de instalación, que todos los que lo habéis instalado, sabéis que no es trivial y que hay que ir siguiendo los pasos y con mucho cuidado, cubre la instalación tanto de server, como del servidor de builds y del Team Proxy, lo cierto, es que, a pesar de ser necesario estar al día siempre de la guía de instalación de TFS (que por cierto hay nueva versión), el libro nos da una buena visión de todos los puntos que tendremos que llevar a cabo durante la instalación, especialmente del servidor y de la configuración del Team Proxy. En el mismo capítulo de instalación, también se habla de cómo migrar los datos que ya tenemos en nuestros antiguos servidores (de por ejemplo VSS), a los nuevos servidores de TFS, que es una de las preguntas "recurrentes" en foros, y chats de TFS.
A pesar de ser un libro técnico, también se nos habla de MSF, tanto agile, como CMMI, y de su implementación en las plantillas de proyecto, así de cómo implementar prácticas como las compilaciones diarias, integración contínua, etc., utilizando Team Build, con lo que la gente que no ha usado nunca estas prácticas, puede ver aquí, para que sirven, y además como implementarlas en un entorno con TFS.
Muy importante también, todo el capítulo de configuración de seguridad, que es casi siempre fuente de algunos fallos en creación de proyectos de TFS, acceso a work ítems, el portal, reporting, etc, aquí viene todo explicado, que sets de permisos tenemos disponibles, y que sets de permisos necesitamos para ciertas acciones administrativas, no olvidemos, que hay ciertos permisos como los de sharepoint, y los de reporting, que tendremos que gestionar desde fuera del TFS.
Por supuesto, algo que a mí me parece bastante importante para TFS, es toda la parte de personalización y extensibilidad, y que aunque eso daría para otro libro completo, y por tanto, aquí vienen unas primeras "pinceladas", por lo menos, a la gente que esté interesada, le va a apuntar en la dirección correcta, aunque, como probablemente cuando escribieron el libro aún no estaba disponible, la documentación en el MSDN, hacen bastante referencia al Visual Studio 2005 SDK, que es siempre lo primero que nos tenemos que descargar para empezar a personalizar y a extender TFS, pero desde hace poco, toda la documentación también está disponible directamente en el MSDN en el Team Foundation SDK.
Por cierto, en esta parte de extensibilidad, hay un punto que me ha chocado, y no me ha gustado demasiado, y es que, para hacer una cosulta sobre work ítems, en vez de usar el modelo de objetos, atacan directamente a la base de datos, aunque entiendo que lo hacen a modo de ejemplo, aquí deberían de especificar, que el acceder directamente a las bases de datos de Team Foundation, NO está ni recomendado, ni soportado por Microsoft, ya que esos esquemas pueden cambiar en actualizaciones, y no se asegura la compatibilidad hacia atrás, por tanto SIEMPRE, se ha de usar el modelo de objetos para acceder a cualquier "artefacto" de Team Foundation.
Bueno por ahora, no me enrollo más, de hecho aún me tengo que terminar de leer el libro, pero como conclusión, una buena compra, para todos los que estéis ahora mismo metidos en una implantación de Team Foundation, o queráis saber más acerca de cómo funciona, y de sus posibilidades de personalización y extensibilidad. Ya os contaré cuando termine de leerlo, y a ver que tal me ha ido en el examen de Team Foundation, espero poder sacar algo más de tiempo para preparármelo, porque si no…

Instalando Team Foundation Server 2010 (TFS 2010) en 15 min.!

fte: http://mikloscari.blogspot.com/2009/01/instalando-team-founation-server-2010.html

Como les mencioné anteriormente, una muy buena sesión que asistí al TechEd 2009, fue de cómo instalar el Team Foundation Server 2010 en menos de 30 minutos, y realmente Brian lo pudo hacer en menos de 15!, el video lo presento a continuación y solo para referencia la maquina donde se instala el TFS 2010 en el video es:

Windows 7 Ultimate - 32 Bit
Intel Core 2 Duo (T9500 @ 2.60 Ghz)
2 GB RAM


Parte 1 - Instalando TFS 2010 en 15 min.!

y el vídeo - parte 2.



Hasta la próxima!

martes, 4 de mayo de 2010

Como firmar electronicamente con iText

En el siguiente enlace aparece un ejemplo del uso de iText para la firma electrónica de documentos pdf.

Fte: http://itextpdf.sourceforge.net/howtosign.html

Guia rapida para firmar electronicamente pdf en java

Guía Rápida Firmar PDF

Pasos a seguir para probar este proyecto:

1 - Descargar el proyecto de gxopen del siguiente link: http://www.gxopen.com/gxopen/servlet/hversion?645,2

2 - El archivo zip que se baja del gxopen contiene los siguientes archivos:
firmapdfalfauno.xpz: Archivo de exportación GeneXus que contiene un WBP y un Proc de pruebas para ver el funcionamiento del programa signapdf.java
prueba.pfx : Certificado pfx para realizar pruebas, actualmente se encuentra vencido pero puede generar un nuevo certificado. Crear certificado .p12
signapdf.class : Compilado del programa signapdf.java
signapdf.java: Programa que se encarga de firmar el pdf, este programa contiene código java que utilizando la iText.jar se encarga de firmar un archivo pdf que recibe como parámetro.
passwordpruebapfx.txt : Solo contiene el password del certificado prueba.pfx

3 - En el classpath hay que hacer referencia a los siguientes jars: gxclassr.zip;GxUtils.jar;iText.jar;bcprov-jdk16-137.jar

El jar de bouncycastle hay que usar el de la versión que corresponda con la JRE que estemos usando, en mi equipo tengo instalado la JRE 1.6_02 por ese motivo usa la bcprov-jdk16-137.jar.
Este jar se puede bajar del siguiente link: http://www.bouncycastle.org/latest_releases.html

Fte: http://wiki.gxtechnical.com/commwiki/servlet/hwiki?Gu%C3%ADa+R%C3%A1pida+Firmar+PDF,

viernes, 9 de abril de 2010

Viafirma: Plataforma de firma y autenticación digital


Viafirma: Plataforma de firma y autenticación digital

El objetivo del proyecto es la creación de una plataforma de firma digital que venga a simplificar el desarrollo de aplicaciones que requieran usar Certificados Digitales. Cualquier aplicación puede hacer uso de la autenticación y firma digital utilizando los servicios que el sistema ofrece, abstrayendo a las aplicaciones de los prolemas relacionados con el uso de certificados digitales, como son la criptografía de clave pública, la validación usando CRLs o OCSP, la lectura de certificados, el uso del dni electrónico, etc.

Noticias

30/10/2009 . Publicada versión 1.3.11 de la plataforma.
ID-003205: Solucionado incompatibilidad con JVM de IBM sobre AIX.
ID-003202: Control de certificados caducados.
ID-003180: Mejoras en la seguridad de WS (allowed)
ID-003180: Pruebas de compatibilidad con .Net (cliente .Net no incluido en la versión GPL)
ID-003180: Web services basados en SOAP Document en lugar de en RPC.
ID-003178: Código básico para la generación de pdfs sellados.
ID-003165: Mejorado el soporte de certificados de Avansi y FNMT
ID-003156: Actualización a OpenId4java 0.9.5
ID-003155: Log4j basado en properties
ID-003121: Corregir los mensajes de error.
27/8/2008 . Publicada versión 1.3.2 de la plataforma, las principales mejoras son el soporte de los certificados de la Autoridad de Certificación Firma Profesional y la corrección de un problema en el proceso de validación del DNI electrónico, el listado completo mejoras y bugs solucionados es la siguiente:
ID-0002512: Soporte de certificados de la autoridad de certificación FirmaProfesional.
ID-0002534: Permitir controlar el tamaño máximo de los ficheros admitidos para su firma.
ID-0002569: Revisión semántica de terminos utilizados en la web.
ID-0002399: Eliminadas excepciones en la consola del Applet de firma en entornos Windows.
ID-0002557: Bug en la validación OCSP de DNIe. Gracias a Oscar Burgos por su colaboración al informar del Bug.
ID-0002589: Actualizar a la última versión de JAX-WS, proyecto metro 1.3
23/7/2008 . Publicada versión 1.3.1 de la plataforma, la lista de nuevas funcionalidades, mejoras y bugs solucionados es la siguiente:
Soporte de firma y autenticación con certificados de la Autoridad de Certificación de la Abogacía (ACA).
Sistema de control sobre la modificacion y versionado de la custodia.
Sistema de control sobre la modificacion y versionado de la custodia.
ID-0002501: Mejora del javascript que carga el applet de firma, para que funcione en clientes sin conexión a internet.
ID-0002400: Soprte de certificados de Camerfirma.
ID-0002500: Soporte de diferentes urls de acceso e impresión, para configuración de Viafirma dentro de DMZ
ID-0002250: Mejorar la documentación y ejemplos de integrador, instalador y cliente.
ID-0002104: Bug en el parseo de atributos del Certificado de AVANSI CxA.
ID-0002412: Nuevo método en el api cliente para la recuperación del XmlSignature custodiado.
ID-0002419: La clase de resultado de firma FirmaInfoViafirma ahora contiene toda la información relacionada con el usuario firmante, nif, nombre, etc..
ID-0002418: Metodos para la verificación de la firma desde el documento original custodiado. checkOrignalDocumentSigned y checkDocumentSigned.
ID-0002451: Custodia basada en Oracle Manager
ID-0002213: BUG: Problema con el Soporte de Alfresco 2.1 en la Custodia.
ID-0002215: Permitir modo test demo y modo plataforma.
ID-0002462: Nuevo mecanismo para el soporte de CAs basado en plugin.
ID-0002435: Permitir que la interfaz de Viafirma se adapte al interfaz visual de la aplicación cliente que la llama. Mediante la inclusión de un css
ID-0002219: Permitir que el mecanismo de seguridad de los Servicios Web basados en IP (ALLOWED) acepte mascaras de red y no solo IPs.
ID-0002382: BUG: Problemas con la validaciónde certificados de ACA en la CRL los certificados ACA
Funciones de la plataforma Viafirma

Autenticación . Cuando una aplicación Web requiera autenticar a sus usuarios mediante Certificado digital (incluido el DNIe) podrá delegar en la plataforma para que sea ésta la encargada de solicitar el Certificado al usuario, recuperar la información, comprobar su validez y devolver a la aplicación la información obtenida.
Firma Digital . Cuando una aplicación Web requiera que sus usuarios firmen la documentación entregada, realicen transacciones no repudiables o cualquier otro tipo de información que requiera no repudio, podrá delegar en la plataforma para que sea ésta la que firme, almacene, custodie y verifique la transacción o información presentada.
Custodia Digital . Un pilar muy importante de la firma digital es la custodia de los documentos firmados para que estos puedan ser recuperados y comprobados. Para ello se implementa un sistema de custodia documental basado en XMLSignature.
Características técnicas de Viafirma

Utilización de Algoritmos estándares de criptografía como el Advanced Encryption Standard (AES) que es el sustituto natural de Data Encryption Standard (DES), que actualmente se considera inseguro.
Uso conjunto de QR Code y Códigos de barra UCC 128 para el sellado de documentos Pdf. Generando comprobantes de firma que contienen códigos QR con toda la información del proceso de firma.
Uso de XMLSignature y XAdES como formato de datos para el intercambio y custodia de los certificados y documentos firmados.
Uso de OpenId como protocolo de intercambio de información entre el Cliente y el Servidor de autenticación y firma.
Para facilitar la obtención de certificados, soporta el acceso a certificados (X.509 ) almacenados en ficheros PKCS12s , así como el acceso a Microsoft Windows Keystore (CAPI) , Java User Key Store y Acceso a Llaveros de Mac OS X .
J2EE 1.4. Implementado 100% Java , lo hace un producto multiplataforma y con una arquitectura bien definida y fácilmente ampliable, necesitando solamente un contenedor que implemente la especificación Servlet 2.3/JSP 1.2 .
Independencia de la infraestructura base del Certificado X.509 estándar, habiendo sido probado correctamente con multitud de certificados, entre los que se encuentran :
- Certificado de Avansi CxA.

- Certificado de persona física de la FNMT (Se requiere la firma de un convenio para la validacción y acceso a las CRLs de la FNMT).

- Certificados de persona física de ANCERT.

- Certificados de persona física de Camerfirma.

- eDNI español (DNI electrónico de la Dirección general de la Policía y de la Guardia Civil).

- Certificados de la Autoridad de Certificación de la Abogacía (ACA).


Uso de Bouncy Castle Crypto APIs, que es una librería criptográfica que implementa JCE 1.2 (Java Cryptography Extension de Sun).
Validación de Certificados digitales utilizando CRLs publicadas mediante HTTP o contenidas dentro de LDAP (como en el caso de la FNMT).
Validación de Certificados digitales mediante OCSP.
Mecanismo de cache para minimicar el acceso a las crls.


Diagrama de arquitectura de viafirma
© 2006-2009 Viavansi

Fte: http://www.viafirma.org/

API para la firma Electronica

Welcome to the OpenOCES project

Overview

OpenOCES is a project dedicated to the development of free software components for the Danish OCES PKI. Since OCES is based on the X.509 standard, some of the OpenOCES subprojects, such as OpenSign, can be used in any X.509 based PKI. Read more about the OpenOCES project and OCES in general here.

Currently, OpenOCES hosts 3 projects:

OpenSign - an applet for signing text and logon
OpenOCES API - a convenience API for handling OCES certificates and signatures generated by OpenSign
OpenCert - a standalone application for issuance of OCES certificates
Latest news

OpenSign v1.6.5 has been released
16 October 2008
OpenSign v1.6.5 has been released.
This release includes important security improvements. Secondly the signed binary applets are now signed by DanID instead of TDC. The old TDC code signing certificate will be revoked within weeks, so everybody is urged to upgrade to OpenSign v1.6.5 as soon as possible.
Read the full release announcement here.
Preannouncement of OpenSign v1.6.5
10 October 2008
On October 16 2008 a new version 1.6.5 of OpenSign will be released.
Note that the released version will be signed by DanID. TDC has transferred all PKI activities to DanID including the management of OpenOCES.org. DanID is a company fully owned by PBS.
The TDC certificate which is used for signing the current stable release of OpenSign and OpenLogon will be revoked shortly after the release.
Searchable mail archives now available
9 August 2007
We now have searchable archives of our mailing lists. The search archives are available from the mailing list overview.
OpenSign v1.6.4 has been released
13 June 2007
This release implements two fixes from the unstable v1.7.x branch. Most importantly it fixes a bug causing certificates accessed through Microsoft CryptoAPI to be unavailable when the applet is executed in protected mode on Windows Vista. Secondly, this release fixes a bug causing the applets to not work properly from within the Opera browser.
Read the full release announcement here.
Open Source Your Summer
10 June 2007
We officially announce our Open Source Your Summer '07 Initiative (OSYS '07). The initiative provides an opportunity for students to work on an OpenOCES project under favourable conditions.
Read more details here.
OpenSign v1.7.0 has been released
9 May 2007
This release fixes a bug causing certificates accessed through Microsoft CryptoAPI to be unavailable when the applet is executed in protected mode on Windows Vista. The release also features a new keystore type contributed by Felix Garcia Borrego.
Read the full release announcement here.
OpenSign v1.6.3 has been released
9 May 2007
This release introduces caching of information obtained through Microsoft CryptoAPI for improved performance. Read the full release announcement here.
OpenSign v1.6.2 has been released
25 Marts 2007
This release contains minor fixes and enhancements including sorting af certificates and a Microsoft Vista temporary workaround. Read the full release announcement here.
OpenSign v1.6.1 has been released
29 November 2006
This release fixes an unfortunate plugin checksum mismatch in OpenSign v1.6.0. Read the full release announcement here.

Fte: http://www.openoces.org/

CryptoApplet Open Source para la firma electronica

CryptoApplet

Presentación


CryptoApplet es una aplicación Java para la realización de firma electrónica avanzada. Su funcionamiento es muy simple. Dada una entrada de datos y una configuración definida en el servidor, un cliente web podrá realizar una firma digital sobre los datos, y devolverá como resultado una representación de la firma en el formato definido en la configuración.

Los formatos de representación de firma soportados por CryptoApplet son los siguientes:

Firma "en bruto".
CMS/PKCS#7.
XAdES-X-L en formato DigiDoc.
Firma PDF.
La gestión de los certificados con los que se va a firma se lleva a cabo de forma transparente para el usuario mediante el acceso directo al CryptoAPI si se utiliza Microsoft Internet Explorer o PKCS#11 si se usa Firefox (en Windows XP o GNU/Linux). También permite utilizar los certificados almacenados en el Clauer si el sistema cliente tiene el software del Clauer instalado.

El applet también es capaz de ejecutarse en los sistemas operativos Microsoft Windows XP y GNU/Linux con el único requerimiento de tener instalada la Máquina Virtual Java de SUN (versión 1.5 o superior).

Para más información, ver la sección de documentación que se incluye a continuación.

Novedades

El desarrollo del CryptoApplet se ha migrado a Forja UJI.

La versión 2 Beta de la aplicación de firma ya se encuentra disponible en la sección de descargas. Algunas de las mejoras que se pueden destacar:

Soporte completo para la ejecución en Explorer/Windows Vista con el UAC activado.
Lista de los certificados instalados en los navegadores de la familia Mozilla sin necesidad de solicitar la clave de acceso.
Soporte para el DNI electrónico (DNI-e) tanto en Intenet Explorer como en Mozilla.
Menú de carga del controlador de dispositivo PKCS#11 que permite añadir nuevos dispositivos de firma instalados en el cliente.
Archivo de configuración de firma en PDF que permite seleccionar los campos "Reason", "Location", "Contact" de la firma en PDF, así como los certificados raíz de las autoridades con las que se permitirá realizar la firma del documento PDF.
Parametrización de la aplicación con JavaScript.
Mejoras en la usabilidad y en el aspecto.
Documentación

Se pueden encontrar resueltas las dudas más frecuentes en la lista de correo de usuarios del CryptoApplet. Se puede realizar la suscripción a esta lista, si se desea, desde aquí.

Para preguntar cualquier duda o hacer alguna sugerencia, se puede enviar un correo electrónico a cryptoapplet at llistes.uji.es.

Se puede revisar la documentación de la versión 1 del applet. Aunque esta no incluye los desarrollos más nuevos de la versión 2, puede servir de ayuda.

Ejemplos

Firma "en bruto".
CMS/PKCS#7.
XAdES-X-L en formato DigiDoc
Firma PDF.
XAdES-X-L por lotes
Verificador XAdES-X-L
Descarga

Todo el software relacionado con esta aplicación se puede descargar desde la página de descarga.

Fte: http://proyectostic.uji.es/pr/cryptoapplet/

Firma Electronica Conceptos

Introducción al concepto de firmas electrónicas

El paradigma de firmas electrónicas (también llamadas firmas digitales) es un proceso que hace posible garantizar la autenticidad del remitente (función de autenticación) y verificar la integridad del mensaje recibido.

Las firmas electrónicas también poseen una función de reconocimiento de autoría, es decir, hacen posible garantizar que el remitente ha enviado verdaderamente el mensaje (en otras palabras, se aseguran de que el remitente no pueda negar el envío del mensaje).
¿Qué es una función hash?

Una función hash es una función que hace posible obtener un hash (también llamado resumen de mensaje) de un texto, es decir, obtener una serie moderadamente corta de caracteres que representan el texto al cual se le aplica esta función hash. La función hash debe ser tal que asocie únicamente un hash con un texto plano (esto significa que la mínima modificación del documento causará una modificación en el hash). Además, debe ser una función unidireccional para que el mensaje original no pueda ser recuperado a partir del hash. Si existiera una forma de encontrar el texto plano desde el hash, se diría que la función hash presenta una "trapdoor".

Crear una huella digital de un documento utilizando la función hash



Como tal, puede decirse que la función hash representa la huella digital de un documento.

Los algoritmos hash más utilizados son:

* MD5 (MD que significa Message Digest; en castellano, Resumen de mensaje). Desarrollado por Rivest en 1991, el MD5 crea, a partir de un texto cuyo tamaño es elegido al azar, una huella digital de 128 bits procesándola en bloques de 512 bits. Es común observar documentos descargados de Internet que vienen acompañados por archivos MD5: este es el hash del documento que hace posible verificar su integridad.
* SHA (Secure Hash Algorithm; en castellano, Algoritmo Hash Seguro) crea una huella digital que tiene 160 bits de longitud.
SHA-1 es una versión mejorada de SHA que data de 1994. Produce una huella digital de 160 bits a partir de un mensaje que tiene una longitud máxima de 264 bits y los procesa en bloques de 512 bits.

VERIFICACIÓN DE LA INTEGRIDAD

Al enviar un mensaje junto con su hash, es posible garantizar la integridad de dicho mensaje, es decir, el destinatario puede estar seguro de que el mensaje no ha sido alterado (intencionalmente o por casualidad) durante la comunicación.



Cuando un destinatario recibe un mensaje simplemente debe calcular el hash del mensaje recibido y compararlo con el hash que acompaña el documento. Si se falsificara el mensaje (o el hash) durante la comunicación, las dos huellas digitales no coincidirían.

SELLADO DE DATOS

Al utilizar una función hash se puede verificar que la huella digital corresponde al mensaje recibido, pero nada puede probar que el mensaje haya sido enviado por la persona que afirma ser el remitente.

Para garantizar la autenticidad del mensaje, el remitente simplemente debe cifrar (generalmente decimos firmar) el hash utilizando su clave privada (el hash firmado se denomina sello) y enviar el sello al destinatario.



Al recibir el mensaje, el destinatario deberá descifrar el sello con la clave pública del remitente, luego deberá comparar el hash obtenido con la función hash del hash recibido como adjunto. Esta función de creación de sellos se llama sellado.

MÁS INFORMACIÓN

SHA1 Secure Hash Algorithm - Version 1.0
RFC 3174 (rfc3174) - US Secure Hash Algorithm 1 (SHA1)
RFC 1321 (rfc1321) - The MD5 Message-Digest Algorithm


Última actualización el jueves, 16 de octubre de 2008, 15:43:34 .

Certificados


INTRODUCCIÓN AL CONCEPTO DE CERTIFICADOS

Los algoritmos de cifrado asimétrico se basan en el hecho de compartir una clave pública entre varios usuarios. En general, esta clave se comparte mediante un directorio electrónico (normalmente en formato LDAP) o una página Web.

Sin embargo, este modo de compartir presenta un inconveniente importante: nada garantiza que la clave pertenezca al usuario con el que está asociada. Un hacker puede corromper la clave pública que aparece en el directorio remplazándola con su propia clave pública. Por consiguiente, el hacker podrá descifrar todos los mensajes que se cifraron con la clave que aparece en el directorio.

Un certificado permite asociar una clave pública con una entidad (una persona, un equipo, etc.) para garantizar su validez. El certificado es como la tarjeta de identificación de la clave, emitido por una entidad llamada Entidad de certificación (que frecuentemente se abrevia CA, por sus siglas en inglés).

La entidad de certificación es responsable de emitir los certificados, de asignarles una fecha de validez (similar a la fecha de vencimiento de los alimentos) y de revocarlos antes de esta fecha en caso de que la clave (o su dueño) estén en una situación de riesgo.

ESTRUCTURA DE LOS CERTIFICADOS

Los certificados son pequeños archivos divididos en dos partes:

La parte que contiene la información
La parte que contiene la firma de la entidad de certificación
La estructura de los certificados está estandarizada por la norma X.509 (más precisamente, X.509v3) de la UIT, que define la información que contiene el certificado:

La versión de X.509 a la que corresponde el certificado;
El número de serie del certificado;
El algoritmo de cifrado utilizado para firmar el certificado;
El nombre (DN, siglas en inglés de Nombre distinguido) de la entidad de certificación que lo emite;
La fecha en que entra en vigencia el certificado;
La fecha en que finaliza el período de validez del certificado;
El objeto de utilización de la clave pública;
La clave pública del dueño del certificado;
La firma del emisor del certificado (huella digital).
La entidad de certificación firma toda esta información (información + clave pública del solicitante) y esto implica que una función hash crea una huella digital de esta información y luego este hash se cifra con la clave privada de la entidad de certificación. La clave pública se distribuye antes de tiempo para permitir a los usuarios verificar la firma de la entidad de certificación con su clave pública.


Cuando un usuario desea comunicarse con otra persona, sólo debe obtener el certificado del receptor. Este certificado contiene el nombre y la clave pública del receptor, y está firmado por la entidad de certificación. De esta forma, es posible verificar la validez del mensaje aplicando, primero, la función hash a la información contenida en el certificado y, segundo, descifrando la firma de la entidad de certificación con la clave pública y comparando los dos resultados.


FIRMAS DEL CERTIFICADO

Existen varios tipos de certificados en función del nivel de sus firmas:

Los certificados firmados localmente son certificados de uso interno. Al estar firmados por un servidor local, este tipo de certificados permiten garantizar los intercambios confidenciales dentro de una organización, por ejemplo, en una Intranet. Los certificados firmados localmente se pueden usar para autentificar usuarios.
Los certificados firmados por una entidad de certificación son necesarios cuando se deben garantizar los intercambios seguros con usuarios anónimos, por ejemplo, en el caso de una página Web segura al que pueda acceder el público general. La certificación de un tercero garantiza al usuario que el certificado pertenece efectivamente a la organización a la que dice pertenecer.
TIPOS DE USO

Los certificados se utilizan principalmente en tres tipos de contextos:

Los certificados de cliente se almacenan en la estación de trabajo del usuario o se integran en un contenedor como una tarjeta inteligente, y permiten identificar a un usuario y asociarlo con ciertos privilegios. En la mayoría de los casos, se transmiten al servidor cuando se establece una conexión y el servidor asigna privilegios en función de la acreditación del usuario. Son verdaderas tarjetas de identificación digitales que usan un par de claves asimétricas con una longitud de 512 a 1024 bits.
Los certificados de servidor se instalan en un servidor Web y permiten conectar un servicio con el dueño del servicio. En el caso de página Web, permiten garantizar que la dirección URL de la página Web y especialmente su dominio pertenecen realmente a tal o cual compañía. También permiten proteger las transacciones con usuarios gracias al protocolo SSL.
Los certificados VPN (Red privada virtual) se instalan en un equipo de red y permiten cifrar flujos de comunicación de extremo a extremo entre dos puntos (por ejemplo, dos ubicaciones de una compañía). En este tipo de escenario, los usuarios tienen un certificado cliente, los servidores aplican un certificado de servidor y el equipo de comunicación usa un certificado especial (generalmente un certificado IPSec).
PUBLICADO POR ADAN SANCHEZ EN 15:59 0 COMENTARIOS
Paginas relacionadas
Libro Electrónico de Seguridad Informática y Criptografía
http://www.lpsi.eui.upm.es/SInformatica/diapositivas.htm

ExpoCrip: Software para Generación de Claves, Cifra y Firma RSA, ElGamal y DSS
http://www.criptored.upm.es/software/sw_m001l.htm
PUBLICADO POR ADAN SANCHEZ EN 15:19 0 COMENTARIOS

Fte: http://zytrust1.blogspot.com/2009_04_01_archive.html