Follow me on twitter!Connections

Rich Text Editing

by Steve Zahm on Aug.26, 2010, under Connections, Development Update

One of the planned updates for the next release of Connections is to improve the rich text editing of the Bio and Notes fields. Well, I’ve made great progress with that. Take a peek at the screen captures.

Rich Text Editor - Bio FieldRich Text Editor - Notes Field

I’ve dropped jWYSIWYG for rich editing. Unfortunately it just isn’t robust enough and had some flaky behaviors across different browsers. In its place is tinyMCE, the same editor that WordPress uses but slimmed down, while still expanding the editing capabilities. Before you could only bold text, italicize text and add links. Those formatting options are still there but now also include underline text, numbered lists, bulleted lists and paragraph justification. You also can paste text as plain text, which is useful when pasting content from a webpage. And paste from Word, very useful for when pasting content in from Word as it removes all the proprietary mark-up. Last but not least, multiple level undo/redo.

Leave a Comment :, more...

ROT13 Pro Module

by Steve Zahm on Aug.23, 2010, under Connections, Pro

One request I’ve been receiving it to provide some method to help protect email addresses from spam email harvester bots. Well, this is exactly what this pro module will do. The entire email address mailto anchor tag is encrypted using the ROT13 encryption method. As the page is being rendered a client side JavaScript will decode the email address. For users that have JavaScript disabled there is a CSS fallback method so they will be able to view the email address as well.

When is it coming? Very soon. It is actually finished, but it relies on some new hooks in Connections that will not be available until the next release. So once the next version of Connections is release, I’ll add the ROT13 Pro Module to the store. What is this price? It will be listed for a very reasonable $2.99.

Leave a Comment : more...

Template Manager

by Steve Zahm on Aug.16, 2010, under Connections, Development Update

I’ve been hard at work on the next version of Connections. A couple of the new major enhancements are a completely revamped template loader and a brand new template manager in the admin. Here you will be able to manage the default templates per list type, install and delete templates.

Template ManagerIn Connections, each entry can be set as an individual, organization or family and when displaying the list in the frontend, using the list_type  shortcode attribute, you can display all entry types [the default setting] or just one of them. By default these would display using the default template, unless you specified an alternate template using the template_name [deprecated] shortcode attribute. Now with this template manager you can specify which template should be used by default for each entry type list.

The upcoming_list shortcode, used to display upcoming anniversaries and birthdays, didn’t support the use of templates, but while I was at it I added template support which can also be managed with this new templates manager.

The template loader will now load external CSS files and JavaScript files for templates. The CSS is printed in the tag right before displaying the entry list. All browsers do support this even though it is not or rather was not valid markup. With HTML5 this is now valid as long as it is scoped, which the template loader will set automatically. If a template has a JavaScript file, it will be enqueued and printed in the page footer on only the pages where the Connection’s shortcodes are used. This will reduce possibility of conflicts by loading the JavaScript only when needed.

5 Comments :, , more...

CSV Import Module

by Steve Zahm on Jun.21, 2010, under Pro

If you’ve been waiting for this, then you know I’m late. Guess that is how it goes with software development. Good news though. I spent this past weekend, since it was so hot, working on it. So far I’m really pleased with the results. It was kind of tough to come up with a user interface that would provide a great user experience and still be flexible with the input CSV data.

What I ended up with is a three-step process. The first being the simplest. Upload the CSV file.

A requirement for the import of the CSV file will be that the first row is to be a header row to identify the contents of the data for each column. This leads you to step two. You will have to map each column to the appropriate field in Connections. For example, lets say the column headers in your CSV file are first, middle and last, you would map these to the fields First Name, Middle Name and Last name in Connections. Now I did include some basic auto mapping. If the CSV file is an Export of Outlook or Gmail, Connections will automap many of the fields for you. If you name your column heads correctly before import Connections will be able to automap all of the columns.

Once you have the fields mapped it’s time for the third and final step. Connections will parse the rest of the CSV file according to the map from the previous step and will display a table with all of the entries from the CSV file. Here, you will have the opportunity review and make any edits before importing the CSV.

Ok, I guess there is one more step, the actual import. But that’s it.

6 Comments :, more...

WordPress 3.0 Compatibility

by Steve Zahm on Jun.21, 2010, under Connections

After preliminary testing it seems that Connections works fine with the latest and greatest WP. Just in case you were wondering. I should mention that I didn’t test with the new multi-site feature. But I don’t see any reason that the plug-in wouldn’t work.

7 Comments :, , more...

Directory Highlight

by Steve Zahm on May.24, 2010, under Connections

I have to admit, I am surprised sometimes at how creative people can be with creating templates for Connections. Checkout this site: http://windsorite.ca/music/directory/bands

I haven’t asked them about their setup, but I’m fairly certain they are using the stock plug-in with two custom templates. One to show the band list and the other to show the band bio. How’d they link the two? I bet they have a base directory page listing all the bands with a subpage for each band details. That would require some manual maintenance, but what I have planned for the future will make a setup like this extremely simple and self maintaining.

I strive to make Connections as flexible as possible and I think this site exemplifies that!

3 Comments :, more...

Fixing Custom Templates

by Steve Zahm on May.19, 2010, under Connections

As I mentioned in a previous post, 0.7.0.0 would possibly break some users custom templates. Here’s methods that changed…

  • getAddresses()
  • getPhoneNumbers()
  • getEmailAddresses()
  • getIm()
  • getSocialMedia()
  • getWebsites()

Each of these now return a standard object. And the related helper classes have been removed. See the PHP documentation in the class.entry.php for each one of these methods to see the objects content for each data type.

Here’s a sample of a way you might have used the getSocialMedia() method previoulsy in a template:

if ($entry->getSocialMedia())
{
	$SocialMediaObject = new cnSocialMedia();

	foreach ($entry->getSocialMedia() as $SocialMediaRow)
	{
		if ($SocialMediaObject->getId($SocialMediaRow) != null)
		{
			switch ($SocialMediaRow['type'])
			{
				case 'twitter':
					// CODE HERE;
					break;

				case 'facebook':
					// CODE HERE;
					break;
			}
		}

	}
}

Here’s the same code corrected for versions 0.7.0.0 and newer:

if ($entry->getSocialMedia())
{

	foreach ($entry->getSocialMedia() as $network)
	{
		if ($network->id != null)
		{
			switch ($network->type)
			{
				case 'twitter':
					// CODE HERE;
					break;

				case 'facebook':
					// CODE HERE;
					break;
			}
		}

	}
}
Leave a Comment : more...

0.7.0.1 Release Announcement

by Steve Zahm on May.18, 2010, under Announcement, Connections

Well, with what appears to be nearly several hundred upgrade completed and only two bug reports, which have been fixed, it seems this is a successful release.

Download here.

Here’s what changed:

0.7.0.1 5/17/2010

  • BUG: Fix fatal error when custom ordering the results.
  • BUG: Fix CSS error for a gradient.

0.7.0.0 5/16/2010

  • FEATURE: Add links on the plug-in management admin page for Settings, Help, Support and Donate.
  • FEATURE: Added group_name shortcode attribute filter.
  • FEATURE: Theme Template tag for theme development to display the entry list. All shortcode attributes are supported.
  • FEATURE: Theme Template tag for theme development to display the upcoming list. All shortcode attributes are supported.
  • FEATURE: The category shortcode attribute has been expanded to allow multiple categories to be called via a comma separated list. If the category has children entries, they will has display (recursively).
  • FEATURE: Added shortcode attribute, wp_current_category. When this is set to true and the shortcode is used in a post, all entries that have the same category name will be displayed.
  • FEATURE: Allow more than one website address to be entered per entry.
  • FEATURE: Automatically add the http:// to the website addresses.
  • FEATURE: Automatically add the http:// to the social network urls.
  • FEATURE: Add vCard download link to entry actions.
  • FEATURE: Add Upgrade Notice text to the readme.txt.
  • FEATURE: Show the entries assigned categories in the entry list.
  • FEATURE: Categories are added to the vcard div class.
  • FEATURE: Add template tag to show an entries assigned categories.
  • BUG: Set the db version after each db upgrade cycle.
  • BUG: Add the missing social media block to the output class, default templates and help page.
  • BUG: Fix typos in the help page.
  • BUG: Fixed improper use of the prepare method when saving and updating entries.
  • BUG: Fix issue causing the adding/editing of entries to fail when the ‘%’ character was used.
  • BUG: Fix error caused by empty $results array in the shortcode.
  • BUG: Editing a Connection Group caused it to show up twice in the list and only one was editable while the other gave an error.
  • BUG: Fixing saving the entry type.
  • BUG: The shortcode filter attributes were not escaped. So strings with extended characters would fail to return a match.
  • BUG: Fixed elements left behind after removing fields in the entry form.
  • BUG: Remove entry images from the server when they are removed from the entry.
  • BUG: If an image was manually deleted from the server, the image tag will not be output.
  • BUG: Fixed bug that allowed duplicate categories to be created.
  • BUG: Fixed issue where database would go thru the update cycle on a new install.
  • OTHER: Add instructional text to the image settings.
  • OTHER: Add rel=”nofollow” to the vCard download link.
  • OTHER: Removed the use of $_SESSION throughout the plug-in.
  • OTHER: Enhance plug-in security through the use of nonce.
  • OTHER: Move the methods from cnConvert class to the cnFormatting class.
  • OTHER: Move the class.upload.php to the image processing method to remove 1.3MB of plug-in overhead.
  • OTHER: Reduce memory overhead.
  • OTHER: Reduce database queries.
  • OTHER: More efficient query to return entires.
  • OTHER: Removed the ‘custom_template’ shortcode attribute. Instead, the custom template folder will be checked for the specified template.
  • OTHER: Moved the template file checking out of the entry list loop to reduce server file system IO.
  • OTHER: Add place holders in the admin entry list if no image is associated to an entry.
  • OTHER: Add dependencies and versions to all wp_enqueue_script / wp_enqueue_style calls.
  • OTHER: Upgrade the class.php.upload class to .29
  • OTHER: Better documentation throughout.
Leave a Comment :, more...

Next Release

by Steve Zahm on May.06, 2010, under Connections, Development Update

The next release is coming along very nicely. Many new small feature have been added and well as coding optimizations which reduce the memory requirements. There is one major downside. This next update will break any custom templates that directly accessed the data for addresses, phone numbers, email addresses, websites and social networks. This was a tough choice as I’ve tried very hard not to break functionality implemented in past versions. But it had to be done in order to reduce the memory overhead and to allow more flexibility when creating templates in the future as I expand that feature set. The good news is that if you created a custom template an you stuck with the documented template tags you should have no problems. If you had paid me to create a custom template for you I will be more than happy to update your template free of charge. Other, you have my sincerest apologies for any issues this may cause you. Keep in mind you can simply revert to the previous version of the plug-in until you can update your template.

Some of the features that will highlight the next release…

A template tag to show the list a categories that an entry is associated with. A very highly requested feature. This will of course be added to the default templates.

An attribute can be added the shortcode to show all entries that where the post has the same categories. For example, if a post has been assigned to ‘Category A’ and ‘Category B’, the entries that have been assigned to both the same categories will be shown.

The category shortcode attribute will now accept a comma delimited list of category ids.

For theme developers, I’ve added two theme template tags. One for calling the entry list and the other to call the upcoming list. Both tags support all the shortcode attributes passed as an associative array. These two theme template tags definitely opens up all sorts of interesting things that can be done dynamically.

When, you might ask? My to do list grows smaller daily, so I would say in the next couple weeks if all goes well.

6 Comments :, , more...

Looking down the road…

by Steve Zahm on Apr.14, 2010, under Connections, Development Update

Connections is becoming more and more popular which great and I thank you! Here’s a peek at my development plans. Many of the features listed below are coming by popular demand. If all goes well the next release should be coming very soon.

Next Release => 0.7.0.0

  • BUG: Set the db version after each db upgrade cycle.
  • BUG: Add the missing social media block to the output class, default templates and help page.
  • BUG: Fix typos in the help page.
  • BUG: Fixed improper use of the prepare method when saving and updating entries.
  • BUG: Fix issue causing the adding/editing of entries to fail when the ‘%’ character was used.
  • BUG: Auto add the http:// to website and social media link URLs.
  • BUG: Fix when copying or adding a Connection Group will display twice in the entry list. Caused by the group name being saved to the last_name field. Only save fields that pertain to the entry type selected.
  • BUG: Database upgrade shouldn’t execute on a new plug-in install.
  • BUG: Fix the filter and sort shortcode attributes to take into consideration the use of special characters like the apostrophe.
  • BUG: Remove images from the server when being removed from an entry.
  • BUG: Image tag should not be output in the image does not exist and the entry options should be updated.
  • OTHER: Removed the use of $_SESSION throughout the plug-in.
  • OTHER: Enhance plug-in security through the use of nonce.
  • OTHER: Move the cnDate methods to the cnForm class.
  • OTHER: Move the cnConvert methods to the cnFormatting class.
  • OTHER: Require the class.upload.php class only when needed to remove 1.3MB in plug-in overhead.
  • OTHER: Remove the known issue about WP Super Cache and images as they no longer apply.
  • FEATURE: Add links for Setting, Help and Donate to the plug-in management page.
  • FEATURE: Add template tag to display the categories that an entry is assigned to.
  • FEATURE: Add honorable pre/suffice to entry form and hCard/vCard output.
  • FEATURE: Add contact name for Organization entry type.

Release => 0.7.1.0

  • FEATURE: Expand the category shortcode attribute to allow multiple category ids to be called. [Operational OR]
  • FEATURE: Add in_category shortcode attribute. This will define multiple categories by id that an entry must be assigned in order to be displayed. [Operational AND]
  • FEATURE: Add exclude_category shortcode attribute to allow multiple categories by id to be excluded from the output.
  • FEATURE: Add category_name shortcake attribute to allow multiple categories to be called by name(/slug). [Operational OR]
  • FEATURE: Add in_category_name shortcode attribute. This will define multiple categories by name(/slug) that an entry must be assigned in order to be displayed. [Operational AND]
  • FEATURE: Add exclude_category_name shortcode attribute to allow multiple categories by name(/slug) entries to be excluded from the output.
  • FEATURE: Add wp_current shortcode attribute to show entries based on the current category and in_category by name(/slug)
  • FEATURE: Expand the RTE for the bio and notes fields to allow more styling

Release => 0.7.2.0

  • FEATURE: Find and map WP users that are in Connections and maintain those relationships. To be used initially for the wp_current shortcode attribute to show and entry for the current post author or current logged in user. This will be useful for custom author / about me boxes and custom greeting based on the current user.
  • FEATURE: Expand the wp_current shortcode attribute to show entries based on current tag/in_tag by name(/slug); author and user.
  • FEATURE: Category list / drop down on the front end to allow users to filter based on category. Output will support permalinks via wp_rewrite.
  • FEATURE: Add detail_template shortcode attribute. This is to support showing a second more detailed template of an entry. This will support permalinks via wp_rewrite.
  • FEATURE: Add relation_template shortcode attribute. This is to support showing the details of an entry’s relationship. This will support permalinks via wp_rewrite.
  • FEATURE: Expand the functionality of the template tags.
  • FEATURE: Add support for custom CSS and JavaScript for templates. Only load the CSS/JavaScript on the page/post that the shortcode is called on.
Next Release => 0.7.0.0
BUG: Set the db version after each db upgrade cycle.
BUG: Add the missing social media block to the output class, default templates and help page.
BUG: Fix typos in the help page.
BUG: Fixed improper use of the prepare method when saving and updating entries.
BUG: Fix issue causing the adding/editing of entries to fail when the ‘%’ character was used.
BUG: Auto add the http:// to website and social media link URLs.
BUG: Fix when copying or adding a Connection Group will display twice in the entry list. Caused by the group name being saved to the last_name field. Only save fields that pertain to the entry type selected.
BUG: Database upgrade shouldn’t execute on a new plug-in install.
BUG: Fix the filter and sort shortcode attributes to take into consideration the use of special characters like the apostrophe.
BUG: Remove images from the server when being removed from an entry.
BUG: Image tag should not be output in the image does not exist and the entry options should be updated.
OTHER: Removed the use of $_SESSION throughout the plug-in.
OTHER: Enhance plug-in security through the use of nonce.
OTHER: Move the cnDate methods to the cnForm class.
OTHER: Move the cnConvert methods to the cnFormatting class.
OTHER: Require the class.upload.php class only when needed to remove 1.3MB in plug-in overhead.
OTHER: Remove the known issue about WP Super Cache and images as they no longer apply.
FEATURE: Add links for Setting, Help and Donate to the plug-in management page.
FEATURE: Add template tag to display the categories that an entry is assigned to.
FEATURE: Add honorable pre/suffice to entry form and hCard/vCard output.
FEATURE: Add contact name for Organization entry type.

Release => 0.7.1.0
FEATURE: Expand the category shortcode attribute to allow multiple category ids to be called. [Operational OR]
FEATURE: Add in_category shortcode attribute. This will define multiple categories by id that an entry must be assigned in order to be displayed. [Operational AND]
FEATURE: Add exclude_category shortcode attribute to allow multiple categories by id to be excluded from the output.
FEATURE: Add category_name shortcake attribute to allow multiple categories to be called by name(/slug). [Operational OR]
FEATURE: Add in_category_name shortcode attribute. This will define multiple categories by name(/slug) that an entry must be assigned in order to be displayed. [Operational AND]
FEATURE: Add exclude_category_name shortcode attribute to allow multiple categories by name(/slug) entries to be excluded from the output.
FEATURE: Add wp_current shortcode attribute to show entries based on the current category and in_category by name(/slug)
FEATURE: Expand the RTE for the bio and notes fields to allow more styling

Release => 0.7.2.0
FEATURE: Find and map WP users that are in Connections and maintain those relationships. To be used initially for the wp_current shortcode attribute to show and entry for the current post author or current logged in user. This will be useful for custom author / about me boxes and custom greeting based on the current user.
FEATURE: Expand the wp_current shortcode attribute to show entries based on current tag/in_tag by name(/slug); author and user.
FEATURE: Category list / drop down on the front end to allow users to filter based on category. Output will support permalinks via wp_rewrite.
FEATURE: Add detail_template shortcode attribute. This is to support showing a second more detailed template of an entry. This will support permalinks via wp_rewrite.
FEATURE: Add relation_template shortcode attribute. This is to support showing the details of an entry’s relationship. This will support permalinks via wp_rewrite.
FEATURE: Expand the functionality of the template tags.
FEATURE: Add support for custom CSS and JavaScript for templates. Only load the CSS/JavaScript on the page/post that the shortcode is called on.

3 Comments :, , more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

What I'm Doing...

Posting tweet...