Thursday, January 26, 2012

Sending mail from CF through IIS SMTP on Windows Server 2008

I ran into a problem today on Windows Server 2008 where mail wasn't being sent from CF through IIS SMTP running on the same machine. The CF Administrator indicated that CF could connect well enough, but nothing was being sent.

Whenever I run into something like this, the first thing I try is a telnet session from the console. This lets me see the responses directly from the SMTP session. So, I went to a command prompt and typed "telnet." I was a bit surprised to find that telnet is no longer available by default, and you have to explicitly enable it as a Windows feature using the "Turn Windows Features on and off" option in Control Panel. I kind of like that - most people don't use telnet and it's a potential minor security issue - but I found it disconcerting for a minute. Fortunately, there are plenty of instructions on how to enable telnet in Windows Server 2008.

Once I installed telnet, I connected to localhost:


then tried to send an email, and had my suspicion confirmed: relaying was disabled.


From there, it was an easy process to enable relaying in the IIS 6 Management Console:


and I was all set! The moral of the story is, I guess, telnet is your friend.

Monday, January 23, 2012

Adobe Connect, Google Search, Drupal (More) Training and Events Announced for February 2012


We've Got You Covered.  


Fig Leaf Software has provided Certified Training to 30,000+ students.  Sign up for one of our new Webinars or Certified Training classes today.  Web based learning is provided via Adobe Connect, the gold standard in Web conferencing.


Adobe Connect 8 for Education (Webinar) Jan 25 (2:00 PM)
Register: http://www.figleaf.com/news/events.cfm


FlashNotes Software: Online Note Taking (Webinar) Jan 25 (3:00 PM)
Register: http://www.figleaf.com/news/events.cfm


Unleashing the Power of Google Search (Webinar) Jan 26 (3:00 PM)
Register: http://www.figleaf.com/news/events.cfm


Adobe Connect Overview (Webinar) Feb 2 (2:00 PM)
Register: http://www.figleaf.com/news/events.cfm


Web Design with XHTML, HTML, and CSS Jan 31 - Feb 01
Register: http://training.figleaf.com/


Drawing and Illustration with Adobe Illustrator CS5.5 Feb 02 - Feb 03
Register: http://training.figleaf.com/


Dreamweaver CS5.5: Website Development Feb 13 - Feb 15
Register: http://training.figleaf.com/


Fast Track to SQL Feb 13 - Feb 14
Register: http://training.figleaf.com/


Cascading Style Sheets Feb 16 - Feb 17
Register: http://training.figleaf.com/


Flex 4.5: Developing Rich Internet Applications Feb 21 - Feb 24
Register: http://training.figleaf.com/


Google Apps Training (Apps200) Feb 21 - Feb 24
Register: http://training.figleaf.com/


Adobe Acrobat X Accessibility Deep-Dive Feb 22 - Feb 22
Register: http://training.figleaf.com/


Advanced ColdFusion 9 Feb 27 - Feb 29
Register: http://training.figleaf.com/


Drupal in a Day Feb 27 - Feb 27
Register: http://training.figleaf.com/


Google Search Appliance 101 - Quick Start Feb 27 - Feb 28
Register: http://training.figleaf.com/


Site Building with Drupal Feb 28 - Feb 29
Register: http://training.figleaf.com/


Google Search Appliance 102 - Intermediate Feb 29 - Mar 01
Register: http://training.figleaf.com/


Fig Leaf Software is a software reseller for Adobe, Google, Brightcove, Acquia Drupal, Ektron, CommonSpot and more.  Contact us at sales@figleaf.com to learn aboout our discounts, get a quote or discuss your software needs.  We welcome the opportunity to serve you. 


"We've Got You Covered"  |  877-FIG-LEAF 

Wednesday, December 21, 2011

Adobe Connect odds and ends

Here are a bunch of items I ran into recently working with Connect.

Exporting meeting recordings from Connect 7: if you want to export meeting recordings from Connect 7 using the "Make Offline" feature, you must explicitly have permission to view the meeting. Recently, I attempted to export a recording using a Connect administrator account, and received some fairly obtuse error messages. Digging into the debug log (good thing I wasn't using a hosted account!) I was able to identify this as a permissions problem. Once I added myself as a meeting participant, I was able to generate the FLV file without any trouble. Alternatively, you can probably move the meeting recording to the content library before exporting it, but I didn't try that.

LDAP and manually-created administrator accounts: if you're using LDAP, and you manually create an administrator account from the console, you can't change your password later on. To "fix" this, I created a second account from the console with a different name and the strong password I wanted, logged in with the second account, deleted the first account, then changed the login name of the second account to the first!

Missing LDAP first name and last name attributes, and searching for users within the Connect admin console: The Users and Groups list, which is a Flash app, lets you scroll through users and groups (surprise!). However, if you have more than a handful of users or groups, scrolling through this list is very painful as it takes forever to update. Fortunately, there's a search button at the bottom, which lets you search for a user by first and/or last name. Great! Unfortunately, if you're using LDAP synchronization, it's possible you don't have first or last names for some (or all) of your users, just logins. Even more unfortunately, you cannot search for logins or any other attributes, just first and last names.

Enabling editing of attributes imported via LDAP: By default, if you use LDAP synchronization, you can't edit attributes that come from LDAP, which makes sense. In my current case, the customer wants to do this, though, as there are specific differences in the rules for storing attributes in LDAP vs this particular system - they're not allowed to store user names in LDAP, but are allowed to store them in Connect. (This is a slight oversimplification, but will do for now.) There is a configuration option to allow editing of these attributes in Connect. However, if you've already run your synchronization, this option won't work because of overall limitations in the number of database records that can be changed by a single operation in Connect! And because of the byzantine database structure of Connect, I'm reluctant to do much exploration on my own, so I'll be opening a support ticket. My guess is that the Connect guys will give me a database query I can run directly against SQL Server to solve this.

Monday, December 19, 2011

Acquia Drupal Training Classes Launch in Washington, DC

Fig Leaf Software, a leading content management training firm, launches Acquia Drupal Training in Washington, DC. View course outlines and register for classes: http://training.figleaf.com/Courses/drupal.cfm

Drupal in a Day (1 day)

Get a solid introduction to Drupal (6 or 7) in one day. Learn about the most essential features and concepts of Drupal through hands on activities. By the end of this day you will be familiar with Drupal terminology and be able to identify how many Drupal sites are constructed. You will know how to identify and choose modules to get the functionality you need. Because this class will be an overview and not an in-depth course, it is perfect for people who are on the fence about using Drupal or who are looking for a hands-on introduction. This course serves as a prerequisite to Acquia's Drupal for Site Builders course.
Register Now | View full description

Site Building with Drupal (2 days)

In two days, participants will be brought up to speed on Drupal and will be ready to tackle their own project. Learn how to manage media, build calendars and complex, dynamic queries of content by selecting and configuring the most popular modules. This course is suitable both for users who are new to Drupal and those who want to broaden their Drupal skills. Participants will also review Drupal's block system and using taxonomy to categorize their content. The ideal accompaniment is to follow this with a one day introduction to using Panels.
Register Now | View full description

Drupal 7 Front-end Development (2 days)

This two day course is an in-depth introduction to front end development with Drupal. In this course you will find out about best practices with configuring Drupal's output, and what you can do to intercept and override output to get the exact customization you need.
Register Now | View full description

Drupal Module Development Course (2 days)

Learn how to get custom functionality using Drupal’s hook system, as well as how to extend or alter contributed module functionality. Participants in this course will have used CCK, Views and Panels to create websites but have never built their own module. Participants will start writing a simple module to writing a complex module, step by step which uses Forms API, Schema API, all of the top ten Drupal hooks, creates custom database tables.
Register Now | View full description

Tuesday, December 13, 2011

Adobe Connect, LDAP, and Active Directory

If you're setting up Adobe Connect to use LDAP synchronization against Active Directory, don't forget (like I did) that AD has a 1,000 record default limit for a single LDAP query:
"If you find that the script is not running through all of your users properly and you have MS Active Directory + over 1000 users, this is because by default, MS AD only sends back 1000 users at a time." - http://docs.moodle.org/21/en/LDAP_authentication
 I forgot that, and wondered where all my users were! Then, I checked LDAP with my good friend JXplorer, which clearly showed me I was only able to fetch 1,000 records at a time. This limit can be changed in AD, but fortunately you can simply set a page size limit in Connect (Directory Service Settings ... LDAP Settings ... Connection Settings ... LDAP Entry Query Page Size Limit ). I set it to 999, which worked perfectly.


Adobe Connect, SSL and the stunnel service

Adobe Connect 8 uses stunnel for software-based SSL/TLS connections, and it's pretty easy to set up. However, there are a couple of gotchas.

First, you have to decide whether to use SSL/TLS for the web interface, for meetings, or for both. If you want to encrypt both, you'll need two IP addresses and two hostnames defined in DNS, which you may not have planned for in advance. If you want to encrypt just one or the other, though, the instructions in the documentation (PDF link) are just a tiny bit off. You'll need to comment out all the lines for the other service. For example, if I just want to encrypt the web interface, the items in the section [https-vip] will remain uncommented, but the items in the section [rtmps-vip] must be commented out for stunnel to start successfully - including the section header itself:

;[rtmps-vip]
; incoming vip for fms (This is to secure Meeting) IP address that resolves to meeting FQDN
;accept = 123.123.123.2:443

; When stunnel is on the same box, simply leave the below IP address as 127.0.0.1
; Send unencrypted request to 1935
;connect =127.0.0.1:1935

; Certificate information for Connect Meetings.
; This assumes you put the cert and key in the root folder of stunnel
;cert = CertificateNameHere.pem
;key = CerificateKeyNameHere.pem
;ciphers = ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH

Second, the documentation refers to a Start Menu item for the stunnel service. Unfortunately, this doesn't exist. Fortunately, it's easy to register stunnel as a service. Just switch to the stunnel directory, typically something like C:\Breeze\8.2.0.1\stunnel, then type

stunnel -install



This won't create the Start Menu item, but it will register the service and set it up to start automatically.

Edit: 2011-12-14

Also, if you change the IP address of your Connect server, you'll need to stop stunnel, edit stunnel.conf, and change the IP addresses for the external listeners:

accept = 123.123.123.2:443

Wednesday, November 16, 2011

Sencha Event in Washington, DC hosted by Fig Leaf Software


Go Mobile or Go Home! Steve Drucker leads the free Sencha Bring Your Own Laptop event sponsored by Sencha Training and Consulting Partner, Fig Leaf Software. Fast Track to XJS4, Sencha Touch, GWT and other certified training is available here:
http://training.figleaf.com/Courses/sencha.cfm

The Introduction to Sencha Touch is part of Fig Leaf Software's education series. Full training options for Mobile Development are available on the Fig Leaf Software certified training site. A selection of these courses are listed below:

Free Intro to Sencha Touch BYOL (3 Hours)

Why fool around with Objective C and Java when you can build applications for iOS and Android using HTML, JavaScript, and CSS? During this three hour bring-your-own-laptop session you will learn how to create x-device compatible applications using Sencha Touch, the first HTML5 mobile JavaScript framework that allows you to develop mobile web apps that look and feel native on iPhone and Android touchscreen devices. Fig Leaf Software is an authorized Sencha consulting and training partner. We developed the official instructor-led courseware for both Sencha Touch and Ext JS 4. Register Now | View full description

Fast Track to Ext JS 4 Development (4 days)

During this four-day hands-on instructor-led class you will learn the fundamentals of building an Ext JS 4 application. This course was developed by Fig Leaf Software for Sencha, Inc. Register Now | View full description

Fast Track to Sencha Touch (3 days)

Learn to build applications for iPhone, iPad, Android, and other devices using Sencha Touch - the first HTML 5 mobile framework! Register Now | View full description | View Intro Movie

ExtJS4Up: Upgrading to Ext-JS 4 (3 days)

During this two day class you will learn about the new features in Ext-JS 4 and how to upgrade your Ext-JS 3 applications. Register Now | View full description

ExtGWT101 - Java, GWT and CSS Fundamentals (1 day)

This course is targeted for those that are new to Java and GWT web development, need a refresher or who wish to expand on current Java, CSS and client-side GWT development knowledge. Register Now | View full description

ExtGWT201 - Ext GWT Fundamentals (2 days)

This course provides in-depth, coverage of the Ext GWT framework and UI components. It is targeted for those who have a solid understanding of Java, GWT and CSS and who want to get a jumpstart to being immediately productive with Ext GWT. The course is hands-on and by the end of the course, you will have built a functioning user interface with Ext GWT. Register Now | View full description

Fast Track to Ext JS 3 (3 days)

This hands-on course provides in-depth, coverage of the Ext JS framework and UI components. It is targeted for those who have a solid understanding of JavaScript and CSS and who want to get a jumpstart to being immediately productive with Ext JS. This course also provides extended coverage of the Ext JS framework. It includes custom component creation, creating Ext themes using CSS, and UI prototyping. The course includes intensive hands-on labs and by the end of the course, you will have built a functioning user interface with Ext JS which connects to live data feeds using JSON. Register Now | View full description