-
Posts
163,911 -
Joined
-
Days Won
346
Content Type
Downloads
Release Notes
IPS4 Guides
IPS4 Developer Documentation
Invision Community Blog
Development Blog
Deprecation Tracker
Providers Directory
Projects
Release Notes v5
Invision Community 5 Bug Tracker
Forums
Events
Store
Gallery
Everything posted by bfarber
-
The ability to easily share content within your community is important to your members. If your members submit an image to Gallery, it's quite probable they'll want to include that image in a post at some point, and there needs to be an easy way to do this. Likewise, if your members submit a file to the Download Manager, they may want to link to that file when replying to a blog entry. There are many instances where it is crucial that members be able to quickly and easily share the content they have contributed to your site within the community, and the old-fashioned method of copying and pasting a link into their post just doesn't cut it anymore. This is functionality that many of our members have requested, many times over, and that we have been eager to build into the software. It was important for us, however, to build this in an extensible manner that allows us to include support for all of our applications without having to reinvent the wheel each time, and without having to manage the functionality individually per-application. Users expect a combined and intuitive interface that allows them to share all of their content easily, without having to visit their content pages and copy links and other data manually. IP.Board 3.2.0 will introduce a new shared media manager to fulfill this important need. As always, the screenshots shared in this blog entry are of a development build of IP.Board and may not represent the full and final look that ships when the next release is declared final. What you see below is subject to change up until IP.Board 3.2.0 is released. Sharing Media With the new editor in IP.Board 3.2.0, we have built a plugin that allows your members to access and share their previously submitted content. When you click on this button, your shared media popup will open allowing you to browse, search and include media you wish to include in your post. As you can see here, you can include media from many areas of the board. Because we have used a plugin system, not only can we expand capabilities in the shared media system for our own applications, but third party modification authors can also easily tie into this popup to include their own media to be shared. Each plugin defines how it presents its shareable content. Here are screenshots of the existing areas (Gallery areas are still under development with the continuing development of Gallery 4.0, so these areas are not yet finished and presentable) You will see pagination at the top and bottom of the templates. This pagination uses AJAX to provide the next and previous pages without requiring a page load or a messy iframe solution. You will also see a search bar at the bottom of the window. The search feature also utilizes AJAX and is useful for finding content you wish to share without having to page through all of your previously shared media. Your search value is remembered when you click through tabs, but you can easily reset the tab by clicking the "Clear Search" link next to the search form. This way if you search for an attachment and don't find it, but remember that you may have submitted it to the download manager instead, you don't have to manually search again after you have switched tabs. When you click on an item it is added to the editor as a bbcode. Once you are done, you can click the "Finish" button to make the modal box go away and continue with your post. Upon submitting the post, IP.Board will verify you have permission to share the content you are attempting to share (i.e. to prevent a sneaky user from sharing someone else's gallery image or calendar event), and then will save the post as normal. When displaying the post, IP.Board will call each plugin that was used to let the plugin determine how to parse and display the content you are sharing. In this screenshot, I have shared a calendar event, an attachment, a blog entry, and a download manage file (in that order). Again, each plugin can determine how to display its content. I would like to re-iterate that these are early preview screenshots and the display of our content may change between now and release, but you can see how sharing media in IP.Board 3.2.0 is a much richer and easier experience than in earlier versions, providing a much nicer end result for your contributors and the users browsing your community alike. We have a lot of ideas for taking this new feature even further in future versions, but we felt our initial focus would best be served by ensuring the sharing process was easy for all. What About Permissions Permissions were a complicated subject when determining how best to handle sharing media across applications. Can I share private calendar events I have submitted? What happens if I share a gallery image in an album that a guest cannot view? What happens if I delete a blog entry that I previously shared? These are all very pertinent questions that we had to take into account when building this new feature. While the plugin approach this system takes allows us to adapt each plugin as needed to best handle its permission checking routines, we have decided that a simple approach for this first release was the best solution. You can only share your own content, first of all. Moderators can share content of any user if they manually type in the bbcode, but will not be presented with it in the popup (this is necessary so that if a moderator edits your post the shared media will still be allowed). If you delete the destination content that you have shared, the bbcode will simply return an empty string and nothing will show in the post where it was used. Whatever you share will be viewable in the area you share it in. You cannot share content that is inherently private or not approved (i.e. a private calendar event, or a blog entry that is not published or is pending approval), however you can otherwise share any of your content that you wish. It is, after all, your content and you could just as easily download a file and upload it elsewhere to link to, or copy and paste a blog entry's content into the post form. If you share that content, what you see in my previous screenshot will display to anyone that can view the page you shared the content on. For instance, if you share a calendar event that a guest cannot see in a topic that a guest can see, the guest will see the parsed calendar block as in my previous screenshot. This is only a preview, and as mentioned above, there would be nothing stopping you from copying and pasting the calendar event contents to the topic anyways. We opted against complicated permission checking when displaying pages with shared content for a few different reasons: Most users are not going to know your permission configurations and would become confused hearing that content they shared is viewable by some but not others As mentioned, users can simply download files and upload elsewhere to link to, or copy and paste the destination contents Complicated permission checking routines would negatively affect the page loading speed, as there are more resources needed to verify all of the different permission permutations possible across all applications Content caching would potentially cause issues with shared content. While we could account for this in our applications, it would be more difficult to account for this in third party applications that can also utilize this new system. Some Other Details Firstly, this new media sharing tool is available anywhere that the new editor is available. That means you can share download manager files in calendar events, gallery images in blog entries, and forum attachments in download manager submissions. There are obviously a lot of possibilities here, and we expect that as third party applications embrace this new feature you will be able to share even more of your community content anywhere across your community. The shared media tool is a custom bbcode, like all of our other bbcodes. This means you can control its use just like any other bbcode, including limiting the feature to select user groups (or disabling it entirely). You are not required to use this new feature if you don't wish to, and you can restrict it any way that you wish. The system is entirely based on a plugin callback approach allowing third party developers to hook into it easily. I can envision sharing "issues" from tracker in forum posts, or items from other popular modifications throughout your site. The plugins are relatively simple to create and we expect to provide documentation of the system to developers shortly following the 3.2 release. It is important to note that plugins can each utilize their own permission checking and display routines, however they can also utilize our basic layouts as shown in my previous screenshots. There is a lot of flexibility in this new system for developers. And lastly, this is only the first version of our new shared media tool. We expect to enhance and bring further capabilities to this feature in future versions of our software. Wrap Up We know this is a tool that everyone has been waiting for and we appreciate your patience. As always, we wanted to do this right the first time, rather than provide similar capabilities through each individual application, increasing development time, maintenance, resource usage, and so forth. By including this feature in IP.Board 3.2 we will now have a strong central framework that applications can utilize, providing for a more consistent and smoother user experience for all. Feel free to comment on this blog entry below or, if you have feedback unrelated to this blog entry, start a new topic in our feedback forum. Be sure to check the What's New in IP.Board 3.2 topic for a running list of announced changes!
-
IP.Board 3.2.0 Dev Update: Calendar Improvements, Part V: iCalendar Support
bfarber posted a blog entry in Invision Community
In our last Calendar-specific blog entry for this upcoming IP.Board 3.2 update I wanted to discuss the last big change you should expect to see: support for importing and exporting events to and from your calendar using the universally-supported iCalendar specification. The iCalendar specification is a universal format that many applications (such as Microsoft Outlook, Google Calendar, and iCal for Mac) support, allowing applications that support the format to share events between calendars. Think of it as an RSS feed specific to calendar events (although it's important to note that it is completely unrelated and dissimilar technically to the RSS specification). Exporting Events Two options will be available for your members to export events from your calendars. Your members will be able to download all events in the calendar as a .ics iCalendar file, which they can then import into their calendar application of choice, or your members can subscribe to your calendar to automatically import new events as they are posted through a webcal:// protocol link. Both options are presented on most pages of the calendar so that they are easily accessible. When clicking on a link beginning with the (unofficial) "webcal://" protocol, the user's calendar application of choice should automatically launch, importing the feed without any necessary intervention from the user. Users can also copy the link and use the link to import the calendar into an application or website (such as Google Calendar) manually. All relevant data is included in an iCalendar export, including the event start, end and recurrence information, the event organizer information, attachments (when applicable), and RSVP attendees (when applicable). Importing Events It is important to note that for this release, we have opted to make event importing an admin-only option. We may likely investigate front-end support for importing events into your calendar, however we have decided to implement the iCalendar importing in this release through the ACP so as to prevent resource issues on your board. I'm sure you can imagine how your server might react if 10,000 members all decided they wanted to import their Google Calendar events into your calendar on a recurring basis. :) The ACP provides two ways to import events: You can upload an iCalendar file (which will usually have a .ics extension) through an upload form You can define feeds (using http://, https://, or webcal:// protocols) to import on a regular basis When you upload a .ics file to import, you can specify which calendar you wish to import the events to, and the member you wish to save the events as (the field to specify the member uses the member look-ahead javascript to aid you in finding the correct user). The file you upload will be parsed and all data that can be extracted and honored will be imported as provided. If the event file has attendees specified, and any of those attendees are also members of your board, they will even be automatically RSVPed for the event! If you would like to subscribe to iCalendar feeds, you can also add as many of these as you like in the ACP. When adding or editing a feed import, you specify the calendar to import the events to, the member to import the events under (again, you can utilize our member look-ahead to assist you in finding the correct user), the frequency to check for updates, a title and the URL to the feed. Upon initially saving the feed, the first batch of events will be imported, and then regularly (based on the frequency you specify for the feed) IP.Board will automatically check the feed for new events and import any that have not yet been imported. As with uploading an .ics file manually, event attendees will automatically be RSVPed for the event if they are also members of your board. Are there any caveats? Well, yes there are a few caveats to keep in mind. Calendar has limited support for event recurrence at this time, so some of the more creative recurring events (for instance, an event that recurs every second Tuesday of the month) may not import as you might expect. Calendar will do it's best to read the event and import it based on the intention, however some event types may not be fully supported due to limited support for certain functionality in Calendar. The vast majority of events you will import through feeds and .ics files, however, should import just fine. Conclusion This concludes our 5-part series outlining improvements to the Calendar you can expect to see with the release of IP.Board 3.2.0. While we hope you enjoy the improvements being made to Calendar in IP.Board 3.2.0, please do not be discouraged if we have not added something you were hoping to see. There are many more improvements that we can make in future versions and just because something wasn't added this time around doesn't mean you won't necessarily see it in IP.Board 3.3.0 or beyond! Let us know your thoughts in the comments area, and if you missed out on the previous blog entries regarding Calendar, feel free to take a moment to catch up: IP.Board 3.2.0 Dev Update: Calendar Improvements, Part I: SEO Improvements IP.Board 3.2.0 Dev Update: Calendar Improvements, Part II: Consistency IP.Board 3.2.0 Dev Update: Calendar Improvements, Part III: RSVP IP.Board 3.2.0 Dev Update: Calendar Improvements, Part IV: Simplification and Interface Changes Feel free to comment on this blog entry below or, if you have feedback unrelated to this blog entry, start a new topic in our feedback forum. Be sure to check the What's New in IP.Board 3.2 topic for a running list of announced changes! -
Hot on the heels of our blog entry detailing how RSVP-style events will work in Calendar as of IP.Board 3.2.0, we would like to take a moment to discuss some interface changes we have made in the next release of Calendar. Some of these changes are relatively minor, but we feel that they should improve usability and make it easier for users to understand how to use Calendar in 3.2.0. It is important to note here, since we are discussing changes to the interface specifically, that these changes are also subject to change. What you see and is discussed below should serve as an outline for some of the more important interface changes you will see in Calendar, however be advised that further changes may be in store, and what you see below is not necessarily exactly how IP.Board 3.2.0 will look upon final release. That doesn't mean, however, that we can't make you aware of the core changes now so you will be prepared when 3.2.0 is released. Event Submission One area we wanted to simplify a little was the event submission process. To start with, we have removed the three separate confusing button options on the calendar page ("Add Single Event", "Add Ranged Event", "Add Recurring Event") and consolidated this into just one "Add Event" button. No longer will users have to actively think about what type of event they are adding before they are even presented with the form to do so. The event form has been overhauled to handle the addition of all three event types at once in the process. Javascript has been leveraged to show and hide fields that are not applicable to the type of event the user wishes to add, until they need to see those fields. The date picker javascript tool has been added to the form to make it easier for users to choose the date they are attempting to add, and times have been changed to a 12 hour format with an "AM" and "PM" dropdown menu, a vast improvement over the previous 24-hour format field previously used. Because the options are all interlinked, I've taken a quick video to show you how these work. When you submit the event, calendar will figure out what type of event (single, ranged or recurring) automatically and save the event data accordingly. By figuring these details out automatically, we make it easier for the user to submit their event without having to actively think about all of the details before hand. Getting rid of redirector links Some of the links in past versions of Calendar where links to redirector scripts. This means that the link did not actually point to the final destination the user would arrive at, but instead pointed to an intermediary page that would do some calculations and then redirect the user to the correct location. While there is nothing fundamentally wrong with this approach, it means two page loads instead of one for the user from a technical point of view (increasing the time it takes the user to arrive at the destination page, and increasing the amount of work your server ultimately has to do to get the user to where they are going), and this is not an optimal solution from an SEO point of view. We have changed all such links in Calendar for IP.Board 3.2.0 to point to the correct destination page without using redirector intermediary pages, improving user experience, resource usage, and SEO all in one go! Daily View Receiving some of the biggest changes in it's general interface, the "daily view" as we call it has been completely changed in the next release of Calendar. "Daily view" is what I call the page that shows what is happening on a particular day. As a reference point, you can view our current Calendar to see what the daily view looks like for a day that has both an event and some birthdays by looking at February 8th. In the current version of Calendar, you will see that birthdays are listed vertically at the top with a lot of wasted space to the right, while the more important events are listed at the bottom using the same exact template that is used when viewing the event itself. If you have a calendar where there is one event on the day, you ultimately end up with a "duplicate content" SEO scenario. The daily view looks (and indeed, has the same source code HTML) as the event view because both simply show the same event on the page. We wanted to make this view a little more useful than it is currently in the next release of Calendar. Reminder: This screenshot outlines the direction we are taking with the next release of Calendar, however keep in mind that the interface is very much subject to further change before release. Consider this screenshot an early preview of the direction we are taking, rather than a final screenshot of the finished interface. The first thing you will notice is that this view is more similar to our weekly view. You have the handy shortcuts and monthly mini-calendars in the sidebar that let you easily navigate to other areas of the calendar without having to return to the homepage first. At the top of the page we have added "Previous Day" and "Next Day" shortcuts to allow you to more easily navigate through the days in calendar as well. We have moved the list of birthdays below the events, as we feel the user-generated events are typically more important to the community than an automatically-generated list of birthdays. The events, while similar to the full event view, are a simplified interface meant to give you an overview of the event, but not all of the details (which is more undesirable in this version of Calendar, given the new functionality available for events). The birthdays have been overhauled to provide more useful information than just the name and age (although both of these pieces of information are still available and displayed). All in all, this entire page has been overhauled to be more useful, less of a copy of the specific event view page, and to allow you to more easily navigate the system and get to where you want to go. Navigation Changes Similarly, we have touched up the navigation bar on every page in Calendar to make it easier to navigate back up the hierarchy to where you want to go. Most pages in Calendar in the current release will show "Board > Calendar > Calendar Name > Page Name" in the navigation bar. While this generic approach does offer some flexibility to move back up the chain, you cannot easily get back to the page you were previously on when you view an event, or a day, or a week. With the next release of Calendar, the navigation bar will be much more dynamic and natural feeling, allowing you to more easily return to your previous page without having to use your back button. When viewing a week, the month and year has been added as a navigational bar entry to let you return back to the month. When viewing a day, the same has been done here. The most useful changes have been made to the event view page, however. The event view page now will attempt to determine where you are visiting from, so that it can better show you a navigational bar that is relevant to how you reached the page. For instance, if you are viewing the daily view and click on an event, you will now see the month and year as a navigational entry, as well as the day of the event. If you reach the event view page from the weekly view, you will have the month and year as a navigational entry, as well as the weekly view you just came from. This is particularly useful when you are viewing a ranged or recurring event, as it allows you to return to where you actually came from, rather than simply returning you to the month and year the event started in (which is not where you came from, in many cases). The end result should be a more useful navigation bar for Calendar in 3.2. Conclusion Many other tweaks have been implemented, and there are many more to come as our interface designer continues his work on the public interface of IP.Board 3.2. The end goal, of course, is to make Calendar easier to use, more useful to use, and more intuitive to navigate. We think the above changes work toward these goals, and we hope you find them to be welcomed changes in the next release of Calendar. Feel free to comment on this blog entry below or, if you have feedback unrelated to this blog entry, start a new topic in our feedback forum. Be sure to check the What's New in IP.Board 3.2 topic for a running list of announced changes!
-
IP.Board 3.2.0 Dev Update: Calendar Improvements, Part III: RSVP
bfarber posted a blog entry in Invision Community
As part of our continuing IP.Board 3.2.0 development update blog entries, we've already told you about some great improvements you can expect to see in Calendar with the release of IP.Board 3.2. In addition to much improved SEO capabilities in Calendar, we have also made loads of changes to improve the consistency of Calendar compared to the rest of our suite lineup. While these changes alone will make Calendar much more useful for administrators and users alike, we are most certainly not done yet. We can still squeeze some more improvements out of Calendar in 3.2.0 before moving on to other important tasks, and to that end I'd like to use this entry to discuss a new feature you will have opportunity to use in the next release of Calendar: RSVP events. Important Note: The screenshots you will see below are taken of a very-early build of 3.2 and the interface will be subject to change. Our UX designer will be going over the RSVP changes in Calendar in greater detail in the weeks to come, so please understand that what you see below is not how the final result will appear upon release. The Concept Often times you will find that when creating an event on your community you want to allow users the opportunity to let you know if they will be attending or not. This is useful for both real-world events (i.e. a club meetup at a coffee shop) and for online-only events (i.e. a developer seminar). As the event organizer you may need to know how many people will be attending, and/or if specific users will be attending. It is useful to have a way to allow users to signal that they will be attending the event. In the "real world", this is usually done through what is known as "RSVP". Basically, an RSVP is a notification from a participant to the event organizer that the participant will be attending the event. In the next version of Calendar, users will have the ability to create events that request attendees to RSVP for the event. Administrative Controls Administrators can control which users can both create RSVP-requested events and which users can respond to RSVP-requested events. For each individual calendar you create within the Calendar application, you can specify on a per-permission mask basis which users can create RSVP events, and which users can respond to RSVP events. You can also control on a per-calendar basis if the event poster is allowed to remove users who have saved an RSVP for an event or not (super moderators always have this ability). If you do not wish to use this capability in a specific calendar (or at all), you can simply not allow any users the ability to create RSVP events in the calendar. Creating and responding to an RSVP event Creating an RSVP-requested event is as simple as checking a box on the event submission form. When viewing an RSVP-requested event, a new box will be shown to the user to signal that the event organizer requests attendees to RSVP, and who has already RSVPed for the event. When you click on the RSVP button in the RSVP area, your participation status will be saved through AJAX and the attendee list will be dynamically updated. Note that if javascript is disabled, your status is saved through a normal browser redirect screen fallback. If you have permission to remove attendees (as I do in this screenshot), a delete icon will show next to each attendee, affording you the opportunity to remove them from the list. Wrapping Up While we have some ideas in mind for future versions of Calendar to possibly expand the system as implemented presently, we wanted to go with a clear, simple and straight-forward approach for this first implementation of the RSVP system that we feel will be easily understood by your users (and thus, more likely to be used properly by your users as well). Creating an RSVP event is as simple as checking a box (if you have permission to do so), and signaling your attendance is as simple as clicking a button (again, if you have permission to do so). We feel this approach will make the feature more likely to be used, while still allowing us opportunities to expand the feature in the future. Let us know what you think in the comment area below, and be sure to keep an eye out for our next blog update about Calendar, coming soon! Feel free to comment on this blog entry below or, if you have feedback unrelated to this blog entry, start a new topic in our feedback forum. Be sure to check the What's New in IP.Board 3.2 topic for a running list of announced changes! -
IP.Board 3.2.0 Dev Update: Calendar Improvements, Part II: Consistency
bfarber posted a blog entry in Invision Community
We are continuing to make improvements to Calendar to both bring it more in line with the rest of the suite of IPS products and to modernize the application and make it more functional and useful for our customers. If you haven't read our first blog entry describing improvements you can expect to see with Calendar in IP.Board 3.2.0, Part I: SEO Improvements, feel free to take a moment to read our last blog entry to catch up. In this entry we'll discuss some of the changes you can expect to see in the Calendar with the release of IP.Board 3.2.0 that provide for a more consistent use of the application when stacked up to our other products. Ratings With the next update of Calendar, you will now be able to rate events very much like you can rate topics now. Ratings are saved through AJAX, just like with topics, falling back to a normal page load and redirect if javascript is disabled on the user's browser. You can control on a per-calendar basis which permission masks have permission to rate events within the calendar. If the user has permission to change their rating via their user group configuration, they will be able to change their previously rating for any event in Calendar as well. Reputation As with posts within the forums, you will now be able to give the member who submits an event reputation when viewing the event in Calendar. The reputation box displays just like it would for a forum post, allowing your users to quickly and easily understand the interface and functionality. By allowing reputation to be issued for event submissions in Calendar, you provide incentive to your users to submit events in your Calendar, making it all the more useful for your entire community! Attachments In our continued effort to increase consistency and functionality in Calendar, we have also implemented attachments for Calendar in the next update. When submitting or editing an event, the standard attachment uploader will be shown on the event posting form. You will be able to submit attachments based on the ACP configuration, just like you would be able to for posts in the forum. You can embed the attachments anywhere within the event content, or let Calendar just append the attachments to the end of the event information, again just like a post within the forum. Attachments may be useful for Calendar to share an event poster or flyer, to share coupons for an event, or to attach documentation users may need to be informed of prior to the event, just to name a few uses. Notifications Users can now optionally elect to be notified of new or updated events in Calendar, allowing your site to notify users of changes to the Calendar that they may elect to be informed about. Previous versions of Calendar provided no way to push information to the user to notify them of changes in Calendar. Any user interested in an event saved to your Calendar would need to manually check on it periodically to verify any changes made to the event, which we can agree is certainly not an optimal experience or expectation. As of the next version of Calendar, users can follow both individual calendars and individual events, allowing them to be notified of additions to calendars they are following, and updates to events they follow. By letting Calendar notify your users of changes, the software becomes more functional and useful in it's prime goal, sharing event-based data with the community. Comments Your members will now be able to comment on events submitted to Calendar. You can control on a per-calendar basis which permission masks can comment on events in each calendar, and you can also specify whether comments must be moderated prior to becoming visible (again, on a per-calendar basis). Comments in Calendar use the central commenting class of IP.Board, meaning it works identically to all other applications (e.g., identical to the blog commenting system at the bottom of this page), allowing for a consistent interface users can understand and utilize without having to learn how to use yet another posting screen. If a user opts to follow an event to be notified of updates to the event, they will also be notified of comments made on the event, allowing your site to better communicate updates to users about content they are interested in, and driving more activity within the Calendar in the process. "Like" Alongside commenting, users can now "like" calendars and events (the aforementioned "follow" capability), giving them the opportunity to either show their support for the calendar/event, to be notified of updates to the calendar/event, or both. As with IP.Blog, IP.Downloads, etc., the like system is a central class within IP.Board that is reused within Calendar, again to provide a consistent interface to users that they can learn and understand once, and expect to use throughout your entire site. Sharing The general use share strip that you see below each topic (and elsewhere throughout our suite of applications) has been added to Calendar. This allows users to share events through social networking sites, through email, or even to print an event's details out with their printer. If Facebook support is enabled in your ACP, the Facebook "like" button will also show up for the user, allowing them to share the event on Facebook. This is likely to drive activity to your site as the user's friends see this content shared on Facebook and follow it through to your site, where they may be interested and join your site...a win-win! I realize this blog entry is pretty concise and the above-mentioned changes are not thoroughly detailed here, however because these are consistency-based changes to bring Calendar in-line with the rest of our products, the majority of our customers will already be familiar with everything mentioned above. By bringing these changes to Calendar, we allow for more useful functionality and more consistency with the rest of our suite of applications for IP.Board. Our next blog entry for Calendar will start detailing some of the changes unique to Calendar that we believe will make it much more useful for you and for your community. Stay tuned, and if you would like to be notified when we post future blog entries, be sure to "like" our company blog. -
IP.Board 3.2.0 Dev Update: Calendar Improvements, Part I: SEO Improvements
bfarber posted a blog entry in Invision Community
Work is underway on IP.Board 3.2 so we wanted to start divulging some of the great changes you can expect to see in our next upcoming major release. One area of IP.Board that we wanted to spend some time improving was the calendar, and this blog entry is the first of several outlining changes and improvements you can expect to see in the calendar with IP.Board 3.2. We intend to post several blog entries detailing changes you can expect to see in calendar, so if there's something you're looking forward to and you don't see it mentioned in this blog entry that doesn't mean it won't be coming. Keep an eye out for future blog entries outlining calendar-related changes by "liking" this blog entry. Meta Tags Beginning with IP.Board 3.2, Calendar will start issuing appropriate meta tags based on the page you are viewing. When I say meta tags here, I'm not only talking about "keywords" and "description", although these are certainly included. I'm also talking about context-sensitive link tags that relate to SEO, such as the canonical URL tag. Previously, Calendar set no meta tags at all. Now, calendar will set the following meta tags as appropriate, based on the page you are viewing: Keywords: Calendar will begin setting the generic "keywords" meta tag Description: Calendar will begin setting the generic "description" meta tag Canonical URL: Calendar will set the appropriate "canonical" link tag to consolidate backlink weighting to the appropriate page in Calendar Up: Calendar will set the appropriate "up" link tag which helps navigational tools and other software designed that reads and understands this link tag Author: Calendar will set the appropriate "author" link tag, again supported by some navigational tools Friendly URLs While Calendar supported FURLs in previous versions of IP.Board, that support was limited and often times various versions of a URL would cause the FURL not to be generated correctly. We have re-evaluated all of the friendly URLs in Calendar for IP.Board 3.2, solidifying the format and enhancing support where appropriate. First, of note, the event title is now added to the friendly URL when you view an event. A sample event URL might look like this: /calendar/1/event/47-first-test-event Additionally, the calendar title itself is now added to all other friendly URLs in calendar. When viewing a single calendar you may see a URL like this: /calendar/1-community-calendar ; when viewing a month, you will see a URL like such: /calendar/1-community-calendar/02-2011 ; and when viewing a day the URL looks like so: /calendar/1-community-calendar/day-2011-01-18 . Some areas of calendar previously generated URLs with URL components in different positions within the string. The end result of this was that URLs that should have been FURL often weren't, simply because our FURL engine couldn't match them up. We have gone through all such URLs and ensured the consistency of the URL format to make sure that all URLs that support friendly URL formatting now do so correctly. hCalendar Microformat We have also taken this opportunity to implement the hCalendar microformat into Calendar. Microformats are basically universally-accepted HTML structuring that, when used correctly, allow software to read the page and parse it like an XML document. In particular, the hCalendar microformat very closely resembles the iCalendar format, allowing some software to read Calendar just as if it were an iCal feed. While this may seem like a small change on the surface, the more scripts that support universal formats, the higher the likelihood that other tools will be created to interact with these formats. As you can see at the previous link, there are already tools available to convert hCalendar into iCalendar, and vice-versa. Layout Enhancements While we are not ready to go into detail about some of these other changes just yet (but we will in a future blog entry!), we are making other changes that closely relate to SEO in the general structure and layout of Calendar. For instance, we have consolidated all event posting pages into one, so there is just one "Add Event" button now, and we are changing the current daily view to less-closely resemble the event view. We feel these two views being essentially duplicates of each other is not only confusing to the user, but may be seen as duplicate pages by some search engines while crawling your site (if you view a day that has one event, and the event directly, the output is nearly identical, even though they are two separate views within Calendar). These changes, while we are not targetting SEO specifically with them, do impact your search engine optimization directly and indirectly. Expect future blog entries to be posted that detail these changes further. We hope you are excited about IP.Board 3.2, and want you to know we are excited to begin discussing things you can see coming in the next version. As mentioned previously, keep an eye out for our next blog entry on 3.2! -
128MB is the memory limit on a stock installation of PHP 5.2. Because some of the routines in the upgrader are memory intensive, we recommend you use the PHP recommendation. You may (or may not) run into issues running the upgrader if you use less. Note, however, that a normal IP.Board page uses far far less than 128MB of memory (the board index used around 8MB as reported by PHP 5.2, last I checked). I've run many successful upgrades at 64MB limits - each server and scenario can be different. If your host absolutely will not raise the memory limit, you can make a backup and attempt the upgrade - you may have no issues. If you do, however, there is little we can do but ask that you have the memory limit raised, even if only temporarily just to run the upgrader.
-
Calendar as seperate application akin to gallery/blog
bfarber replied to Andy Millne's topic in Feedback
I have (relatively) big plans for calendar in 3.2. We can't really say too much yet, but I promise - you will see improvements to calendar in 3.2 (not just a few small bug fixes or tweaks). -
IP.Chat 1.2.0 Dev Update: It's the Little Things That Matter
bfarber posted a blog entry in Invision Community
Next up in our round-up of changes you can expect to see in our application releases this holiday season: IP.Chat 1.2.0. For IP.Chat 1.2.0 we decided to hold back on some of the larger changes we would like to implement, in order to better evaluate the server requirements on our side and ensure we implement the big features in a resource-friendly manner for all involved. In the mean time, we hope you like the changes you can expect to see in IP.Chat 1.2.0! Friendly URL While IP.Chat really only has one URL, we've gone ahead and added FURL support for the IP.Chat page. This means instead of "site.com/index.php?app=ipchat" you can now access chat on your site at "site.com/chat". As search engines generally won't be supported by IP.Chat anyways, this change is more for the benefit of your users rather than for search engine optimization reasons. Auto-Kick Inactive Users We felt this requested change was especially relevant to IP.Chat, given that chat packages have a maximum online users limit. We have implemented a feature in IP.Chat where-by a user will be automatically kicked from the chat room after a specified period of inactivity. You can specify the period (in minutes) in the ACP, and if a user sits in chat but does not submit any messages or perform any moderation activities the user will be kicked after the number of minutes you specify. This can be useful if you have users that will visit your chat room at the end of the night, and forget to leave before leaving their computer in the evening. Instead of the user sitting in chat all evening long (even though they are not really present at their computer), the software will kick them, and show the normal "You have been kicked from chat" message, freeing up more space in your chat room without you having to upgrade your chat package unnecessarily. Shut Off User Messages We have added a setting that allows you to disable the "User X has entered the room" and "User X has left the room" messages that IP.Chat automatically show when users enter and leave, respectively. This new setting was added based on direct user requests. Ability To Hide Recent Chats When you enter the chat room, the most recent chats are shown to the user who has entered. This allows them to quickly catch up on the current conversation so they know what is being talked about at present. Some users have requested a setting to NOT show this chat "buffer" when new users enter the room, and in 1.2.0 such a setting has been added. Instead, when the user enters the room (and the setting is enabled), they will start with a blank slate and none of the recent chat messages will be shown to the user if the setting is enabled. Launch Chat In A Popup Probably the most heavily requested feature since we launched IP.Chat, you will now be able to launch chat in a minimalized popup window. There is a setting in the ACP that, when enabled, will automatically force the chat tab to launch a popup window instead of showing chat in the page with the full IP.Board wrapper. Additionally, if a user is viewing the chat room on a regular page, there is a new button (near the sounds toggle button) that will launch the chat room in a popup window, allowing you to leave the full chat page in IP.Board and continue navigating the forums. Wrap Up We have also performed some miscellaneous code cleanup to better optimize the code, and provide for better developer documentation for our third party developer community. We have intentionally kept this IP.Chat update scaled back so that we will be better positioned to deliver some bigger features for you in the next major release. We hope you find the features coming in 1.2.0 useful, and look forward to your feedback, as always! -
Since applying IP.Downloads 2.3 to our company forums this month, we've noted a few features that we felt would be really handy to add. Given the fact that all of these features have been requested by customers recently, we took the time to add these features now, for IP.Downloads 2.3.0, in an effort to ensure we release a solid product that has everything you need to manage your file repositories. We hope you enjoy these few small but useful changes coming in IP.Downloads 2.3. Featured Files Beginning with IP.Downloads 2.3, you will now be able to designate a single file as a "featured" file. This featured file will be highlighted on the IP.Downloads portal page for everyone to see. This is useful for pointing out a file that is of particular importance to your community, or to highlight a file of exceptional quality that has been recently submitted. Here at IPS, we will be using this new functionality to feature files we feel our customers will be interested in using, be they skins, applications or hooks. Note that there is also a new moderator setting in the ACP moderator management area to allow you to control which moderators can feature files. All super moderators will automatically have this ability. Pinned Files In addition to "featured files", we have also added the ability pin and unpin files in the file listing. When you pin a file, much like a topic, it forces the file to be listed at the top of the category listing no matter what sort order you choose to use to list the rest of the files in a category. You can pin (and unpin) files to help users find commonly requested or downloaded files quickly. For instance, if you use your IP.Download installation to host car manuals, and you find that a large portion of users are downloading a specific car manual, you may wish to pin this file to the top of the category listing so that it is easier for them to find. Or if you have advertisers on your site that also submit files, you can charge your advertisers a fee to pin their file at the top of the listing for a specified period of time. As with featured files, there is a new moderator setting in the ACP to control which moderators can pin and unpin files. All super moderators will automatically have this ability. Redesigned Category View Continuing from Rikki's last blog entry where he showed you all of the other redesigned areas, we have now updated the category listing page to bring it more in line with the rest of IP.Downloads modern look and feel. At the top, you will now have some quick filters that allow you to easily re-sort the category in various ways. Additionally, if IP.Nexus is installed (it is not, in this screenshot), you will be able to quickly filter "All files", "Paid Files" and "Free Files" in the category via a filter option at the top of the screen. If a file is reported broken, this will now be highlighted with an alert icon in the category listing like so: (Note in the first screenshot we opt to display screenshots in the category, while the second screenshot is taken of a file where screenshots are not displayed in the category listing) The download count can be clicked on to view who downloaded the file (for those with permission to see this information). When you view a category with subcategories, the category bar on the left changes slightly to indicate this. In this picture, we are inside "Empty" and you can see there are two subcategories within this category in the left hand block. Conclusion We have a few small areas to touch up still, but for the most part things are now wrapping up. We hope you like the update and we look forward to your feedback regarding the changes to come.
-
IP.Downloads 2.3 Dev Update: Miscellaneous New Features
bfarber posted a blog entry in Invision Community
We have added some new features to IP.Downloads 2.3 that have been requested by our customer base and that we believe will help you better manage your files. Most of these features we pulled directly from our feedback forum, and we'd like to take this opportunity to thank everyone who participates and shares their ideas through this channel. Your feedback directly helps shape the future of IP.Downloads, and we hope you like the new functionality that you have requested and will be available with version 2.3. Enhanced Searching In addition to the improved search performance coming in 2.3, we have added some new search filters and sorters that have been requested by our customers. Using the advanced search form, you can now filter your IP.Downloads search results based on category, allowing you to search for files within specified categories easily. Additionally, we have added "Last Update Date" and "Rating" as new sorting options, allowing you to better control the order of the returned search results. Lastly, we have overhauled the search results interface to present you with much more information which can be useful when reviewing the search result to verify if it is the file you are looking for. The results are now displayed in a traditional table manner, consistent with the manner in which files are displayed within the download manager itself. Additionally, the category breadcrumb is shown below the file name so you can easily see which category the file is contained in. The file rating, number of views and downloads, submitter information, and last update information are also available for you to review. Who Downloaded My File? While the administrator can review all downloads in the ACP using the available reporting tools, often times users want to know who has downloaded a file from the public interface as well. A modification author or skinner may want to know who is downloading their skins, for instance. Or you may be curious who has downloaded a file before you yourself download it. Beginning with IP.Downloads 2.3 this functionality will now be available. For this feature to work, you will need to ensure you have the setting "Log All Downloads" enabled in the IP.Downloads settings. Additionally, you will be able to control on a per-group basis who can view file downloaders and who can't. For the groups that are allowed to view file downloaders, all download counts will now be linked, and clicking the link will open a modal box within the window showing the downloaders. Mark All Categories Read A new link has been added to the statistics bar on the download manager index page that allows you to mark all categories in IP.Downloads as read. If you used to be in the habit of marking each category as read one by one, you will no longer have to do this. You can just click the "Mark All Categories Read" link and be on your way. Reporting Broken Files We have added a new per-group option to allow you to control which groups are allowed to report files as broken. Some users have indicated that they have validating users reporting files as broken unnecessarily, so you will now be able to configure members of the validating (or any other) group to remove this capability. Ban Users From Uploading Beginning with IP.Downloads 2.3 you can now ban individual users from submitting files to IP.Downloads globally. While you have always been able to do this on a per-permission mask and per-category level, sometimes you want to ban individual users entirely from submitting, while not restricting them from downloading files. Rather than creating special permission masks for these users and applying them to the users individually, you can now just ban the users right from IP.Downloads. To ban a user from submitting in IP.Downloads, go to the ACP, My Apps menu, IP.Download Manager, and on the home page under "Run Reports" enter the user's name into the Member Report field. On the member report screen you will be able to block or enable their ability to submit files. Change File Owner Another oft-requested feature for IP.Downloads is the ability for moderators to change the file owner. You have always been able to change the file owner by running a file report in the ACP, however this capability has not been present on the front end...until now. While super moderators will always have this ability, you can control on a per-moderator basis which moderators have permission to change file ownership from the front end. For moderators that have this ability, a small tag will appear next to the file submitter's name when viewing the file details page. Clicking the tag will present you with a form field where you can enter the new file owner's name, and change the file owner. The member type-ahead functionality is also utilized to allow you to more easily search and find the new file owner's name. Latest Files A new board index sidebar hook has been added that will display the latest files in your IP.Downloads system. There's not a lot to say about this feature - it does what it says. :) Better File Control We have added a few new features that will allow you to better control your files when submitting them, as a user. Firstly, we have added the ability to specify on the submission form which screenshot should be the "default" screenshot for files. This default screenshot is then displayed as a primary screenshot when viewing the file information page, and is used whenever a screenshot for a file (that has multiple screenshots available) is requested, for instance in the random files block. To go along with this, we have changed the screenshot generation method to use a "cropped" thumbnail, instead of a traditional proportional thumbnail. Now, when configuring screenshot dimensions, you will only enter one dimension (for instance, "100" if you wish to have thumbnails at 100px x 100px). IP.Downloads will generate a screenshot in square proportions, cropping the edges as needed. This will allow for a more fluid layout with screenshot dimensions that can more easily be expected and worked with. Additionally, we have added two additional fields to the file submission process: version number and change log. You can now supply a version number when submitting a file, which will then be displayed next to the filename on the file information page. The file version is preserved when a new version of a file is submitted, so the "Previous Versions" section will also display the previous version number next to it's filename as well. This allows you to more easily understand the previous versions section, as you can see which version each entry is. The other new field, change log, allows you to enter in changes that were made with the new version you are submitting when adding or editing a file. This change log is displayed below the file description on the file information page, and is preserved when you submit a new version of a file (i.e. the change log for each version is saved when a new version is submitted). This allows the user to view the full change log for a given file by clicking on a link presented on the file information page. In this screenshot, I clicked the "View all changelogs" link and the modal box appears showing me all changes in the current and previous versions. As you will undoubtedly be able to tell from that last screenshot, the user interface has also been completely overhauled. Keep an eye out for our next blog entry, where we will go over the changes you can expect to see to the interface in IP.Downloads 2.3. We are really excited about these changes and think you will be too, once we are able to share them with you! -
The term "consistency" can encompass many facets of a software package. Consistency can refer to backend code, ensuring that one piece of the application is utilizing available classes and methods to ensure it behaves as similar as possible to every other piece of the application when executed. Consistency can refer to the user interface, ensuring that users navigating a piece of an application can easily familiarize themselves with it, whether that be comparing the interface to other established websites the user is likely to have visited, or comparing the interface to the rest of your application as a whole. Consistency is important in software development, because it helps ensure that the application will behave as expected, and that users will know exactly what to expect. We are focusing a lot of our efforts into usability and consistency in our applications, in an effort to ensure that users can easily navigate and use our software, without having to first "learn" how to use it. IP.Downloads is no different, and I wanted to talk in this blog entry about some changes you can expect to see with IP.Downloads 2.3 which we feel will help improve consistency between IP.Downloads and the rest of your IP.Board applications. Sphinx Support Arguably the least exciting thing I would like to mention in this blog entry, is that beginning with IP.Downloads 2.3, Sphinx search support has been reintroduced. This means that websites utilizing Sphinx for their search engine will be able to also use Sphinx for IP.Downloads. With previous versions of IP.Downloads, MySQL is used for searching. Similarly, if you do not use Sphinx, you may still gain from a small performance boost with MySQL searches, as proper "fulltext" search support has been added for IP.Downloads as well. For those of you who may be technically inclined, but not quite sure what this means, basically instead of running a query with a where statement like WHERE file_name LIKE '%search term%' we now will run a query like WHERE MATCH(file_name) AGAINST ('+search +term', IN BOOLEAN MODE) This is a minor backend change, but will help performance if your site has a large downloads section that is heavily searched. Custom Field Formatting IP.Downloads has featured custom fields support since it's initial release. This is a powerful tool that will help you collect additional meta data from your users when they submit files. Custom fields show up on the file information page when filled in, allowing you to easily customize the data collected and shown for users in IP.Downloads. We have enhanced custom fields in IP.Downloads 2.3 to allow you to define how to format them from the ACP. Similar to the formatting options for member custom fields, you can use a {key} and {value} macro when defining the formatting options for your IP.Downloads custom fields, allowing you to display the data exactly how you intend to. One common use scenario we have run into ourselves is wanting to display a custom field that should contain a link as an actual link, instead of just the link text. This will now be possible in IP.Downloads 2.3. Share Links & FaceBook IP.Board 3.1 introduced the new share links strip functionality, and included a robust and easy to use FaceBook "Like" feature throughout the forums. We have implemented this into IP.Downloads 2.3, allowing your users to easily share and like the content throughout IP.Downloads just as they would throughout the forums. In doing so, we have removed the old "Email File" link that would appear on file display pages, as you can now use the Email share link option instead. While I presently do not have FaceBook enabled on my development board, you can see the share links strip in the following screenshot. The FaceBook like hook will show up on the left side on the same line, when enabled. (Please be aware that this is an early screenshot, and the user interface is subject to change before release) Comments & Likes As well as implementing the share links and FaceBook Like hook into IP.Downloads, we have gone ahead and implemented our new commenting and likes systems into IP.Downloads 2.3 as well. Matt previously discussed these new features in a Gallery blog entry (take particular note of the 'Favorites' feature, which we have renamed to 'Likes' and the new comments area), so feel free to check that out to get a better overview of how these systems work. As part of our efforts regarding consistency across our applications, these features will work identically in IP.Downloads as they do in IP.Gallery. All content that you 'Like' throughout IP.Board is available in a new 'My Liked Content' option from your user dropdown in the top of every page. We will be further expanding this central control panel in IP.Board 3.2. When you like a file, you can choose to like anonymously (so that other users do not know you have liked it), and you can choose to receive notifications of updates. If you enable notifications, you will be notified when the file is updated and/or when someone comments on the file. This new like system replaces a couple of existing features in IP.Downloads, but in a manner that will make it more consistent with every other application: Favorites (including the UserCP "Manage Favorites" area) and Subscriptions (including the UserCP "Manage Subscriptions" area). You can now manage these from one central area of IP.Board for all applications, including IP.Downloads. The comments area will now support AJAX replies, hovercard moderation, and more, all in an interface consistent with our other applications. Again, check out the previous blog entry with a video of Gallery for an idea of how this section works. I would take a couple of screenshots here, however we are in the process of overhauling the user interface and as such I don't think screenshots will help you visualize the changes much at this time. When we blog about the user interface changes later on, we will be sure to point out these two specific changes to show you how the look and work. In addition to changing these systems for our file view page to be more consistent with our other applications, we have also added the ability to "Like" a category of files, allowing you to optionally be notified when new files are submitted to a category. This is analogous to the "Watch Forum" option in the forums, allowing you to be notified if new topics are submitted. We believe this will help your members monitor areas of your site more effectively and with better control, keeping your members interested in your downloads area as new content is submitted. Summary We are working towards improving usability and consistency in IP.Downloads (as in all of our applications) and to that end we have implemented some new functionality that will allow your users to navigate your downloads area with ease. They can expect to be familiar with how the downloads area works based on consistency with our other applications, without having to figure this out on their own. Additionally, the inline AJAX functionality of the likes and comments systems provide for a more robust user experience, allowing them to interact with the site in useful ways, without having to jump from page to page unnecessarily. We hope you like these changes, and stay tuned for other upcoming blog entries regarding the direction of IP.Downloads 2.3!
-
Early on during development of IP.Downloads 2.3, one key area we identified that we wanted to improve was the notification capabilities of IP.Downloads. In previous versions of IP.Downloads, you can elect to be notified when a file you are watching is updated, and you can elect to be notified when a file you submit is approved or denied. These are necessary and useful notification options, however they do not encompass all of the scenarios users might want to be notified of within the application. New Comments We have implemented the new 'Like' and 'Comments' systems into IP.Downloads 2.3 (we will discuss this further in our next blog entry), and in doing so have added the ability to allow users to be notified when a new comment is received on a file. A user need only visit a file, 'like' it, and choose to be notified of new comments if they so wish. If you are subscribed to files, or have any files in your favorites list in your current IP.Downloads installation, those will be removed, and converted into 'likes' appropriately when you upgrade to IP.Downloads 2.3. New Files In addition to supporting 'likes' for files, you can now 'like' any category in IP.Downloads, allowing you to receive notifications (if you choose) when new files are submitted to a category you like. Broken Files Until IP.Downloads 2.3, no one would be notified when a file is reported broken. A note would be added to the top of the page with some details, and the file would be listed in the Moderation panel, however this requires moderators to be vigilant and to actively monitor the Moderation panel to discover when files are reported broken. Beginning with IP.Downloads 2.3, you will now be able to elect to be notified when a file you have submitted is reported broken (as the file submitter). This allows you to know if any of your files are being reported as broken by the community, giving you the opportunity to address issues with the file if needed, and to communicate with moderators more effectively if they contact you about the file. Additionally, moderators will now be able to elect to be notified when a file is reported broken, giving them the opportunity to let the software handle notifying them of problems, rather than requiring the moderators to actively monitor areas of the software to discover problems on their own. We believe this new functionality will ease the workload of your moderators, and ensure consistent communication occurs between the software and your staff. As an aside - we have also added group-based permissions for who can report a file as broken, which will now allow administrators to better control who has access to perform this action in IP.Downloads. Files Pending Approval In addition to having no way to know when a file is reported broken, in previous versions of IP.Downloads moderators had no way to know (without checking for themselves) if a file is pending approval. This means that moderators must monitor the downloads area manually to determine if files are pending approval, which is time consuming and inefficient. Beginning with IP.Downloads 2.3.0, your moderators will now be able to elect to receive notifications of new files pending approval, allowing them to be notified when action is required on their part, without having to actively monitor the downloads area. Summary With IP.Downloads 2.3 we are working to improve both the consistency between IP.Downloads and IP.Board (as well as our other addon applications), and the usability in the application itself. We believe these small but important changes will allow you (the admin), your staff, and your users much better control over how they interact with the software, saving everyone time, energy, and useless clicks. ;) Let us know what you think in the comments, and subscribe to our blog if you are looking forward to our next IP.Downloads blog entry, which will discuss some further usability and consistency improvements you can expect to see in IP.Downloads 2.3!
-
Keep in mind, Mark's post was made over a month ago. Facebook changes their API very frequently. I'm not sure of their current support for Chrome.
-
IP.Content is a powerful toolset that allows you to create dynamic pages and content on your site, utilizing all of the APIs IP.Board provides. Using these tools, you can create pages, templates and blocks that retrieve, transform, and output data in your IP.Board and addon application databases. IP.Content can even allow you to take blocks you have created and integrate them into any page in IP.Board itself, so you can create dynamic content-driven blocks on any page of your IP.Board installation with ease. While the integration possibilities are quite robust within IP.Board, we wanted to take this a step further and allow you to implement blocks created in IP.Content anywhere! Imagine if you could create a feed of the latest topics on your forum, and integrate that into your Wordpress blog? Or imagine creating a feed of your latest Gallery images to show on your website homepage, simply by inserting a little tag into your homepage HTML file? With IP.Content 2.1, you will be able to do exactly that. A new "external.php" file will be included in the Tools folder of your IP.Content download. You will first need to upload this to your IP.Board root directory. Then, in the ACP Block Management page, you will see a new icon next to every IP.Content block. When you click this icon, you will be presented with a small modal box that includes the exact HTML (a javascript tag) that you need to include where-ever you want the block to show up You simply copy this javascript tag, and paste it into your page where-ever you would like for the block to show. It really is that simple! Additionally, while this is not the "preferred" method of integrating blocks into your IP.Content pages themselves, there is nothing stopping you from doing so if you find this method to be the easiest way to include your blocks in your pages. I have created a short video to demonstrate how this works. Hopefully you will be able to see just how easy this new feature is to use in IP.Content through a short tutorial example. As you can see, there is really nothing to it - you simply copy a tag into your HTML page and the block shows up. Additionally, because the block is loading off of your forum domain and utilizing the IP.Board framework, all member data is available to the block. You can create user profile blocks, for instance, and show them on your external site, providing an easy way to integrate "member" functionality into your site without having to create your own membership system, or tie your site into your IP.Board installation through backend PHP code. Some Boring Techy Details, if you are interested The block is implemented via a javascript tag, which then renders an iframe into the page. The iframe will size dynamically so that all of the block content is displayed, and scrollbars are not. You can override this on a per-block basis, simply by changing the URL in the script tag to include "&w=xx&h=xx" parameters (you can provide either parameter, or both parameters) if you wish to set a static width and/or height (if you do so, the iframe will automatically show scrollbars as one would expect). We hope you like this new feature in IP.Content 2.1, and that it will help you expand your website in easy and fun ways. Let us know what you think in the comments!
-
Alongside the new articles system introduced in IP.Content 2.0, we redesigned and included a default demo site to showcase some of the core functionality in IP.Content. This default demo site utilizes the concept of page templates, custom database templates, custom databases, custom blocks, and all of the useful functionality you will probably make use of yourself. The idea behind this is that we wanted to show off some of the capabilities of IP.Content in a "real-world demo" so that you could dive in and, hopefully, better understand how all of the different capabilities of IP.Content can be pulled together to create unique and creative websites. Well, while the demo site looks sharp and has been generally well received, there has been one recurring criticism of this approach with IP.Content 2.0 - the articles system, because it was embedded into the default demo site, did not look consistent with the rest of IP.Board if you chose not to use the included page template. If you edited the "index.html" page and set it to use the IPB wrapper (and not the page template we included), much of the layout did not flow as expected. We have decided to change our approach with IP.Content 2.1. We are no longer going to include a default page wrapper with IP.Content 2.1. I'm sure some of our customers may have liked seeing how the page templates can be used to facilitate making an entire website with a consistent look and feel outside of the forums, however in our polling most of the users who make separate website pages (and don't want them to look like the forums) are already fully capable of doing so. Additionally, these users tend to be more advanced users and they login to IP.Content after it is installed and just delete the default wrapper anyways. This functionality is still in place of course, however the new default installation of IP.Content will utilize the IP.Board wrapper instead of a separate wrapper, in an effort to make IP.Content more consistent with your forums, and much easier to use "out of the box". The new templates included with IP.Content 2.1 are not radically different from 2.0, however some changes have been applied to various elements of the pages to allow IP.Content to re-use your existing IP.Board skin easier with fewer changes on your part. Ideally, this means IP.Content will work out of the box with (most) custom skins with few or no styling tweaks needed. Thus, once you install IP.Content 2.1, you can click the Pages tab and begin adding your own articles: a much more plug-n-play approach, if you will. I'm sure a couple of screenshots will make this clearer, so here you can see the major views of the articles system in IP.Content 2.1 (using the IP.Board wrapper). Please be aware that these screenshots are not 100% finished and small details may change between now and release. We're still tweaking a few areas but wanted to give you an idea of what was in store. This is a category frontpage of the "Databases" category One of the first things you'll notice here is that the sidebar has been moved to the right hand side of the page. The concept of "articles" is part of a content-driven website. Articles are content that are highly relevant to your community that you want separated from the forums, in an area that is easy to navigate and view. To this end, much like most blog products on the market, we have moved the sidebar to the right side of the page so that the first thing you see when you visit the page is the content. We will also set the *default* frontpage template to be our "Frontpage (Blog Format)" template. For those of you who are not familiar with IP.Content (or, who are not familiar with the concept of a frontpage or the frontpage templates), the "Frontpage" is the first page you hit when visiting the articles system, or when you visit any given category in the articles system. You can assign a special frontpage template that allows you to issue the content in the manner you best see fit (and you can assign separate frontpage templates on a per-category basis if you choose to do so). IP.Content ships with 3 default frontpage templates (although you can modify these, and/or create your own): 1x2x2 Layout (this is where you get a larger area for the first article, which will have it's own "row", and then all other articles on the frontpage will be in a smaller sized box with 2 per row), Blog Format (this is a layout similar to a blog product, where the entire article shows on the frontpage, one per row), and Single Column (where you have a layout similar to the blog layout, however only an excerpt of the article is shown instead of the whole thing). While the 1x2x2 layout is arguably the most creative, and as such we used it to show off what you could do with IP.Content 2.0, we have opted to use the Blog Format frontpage template as our default template in IP.Content 2.1. We feel this is more consistent with most users' experiences on other websites, and should make it easier for users to navigate your own site as a result. (It is important to note, all 3 templates are still shipped and available for use with 2.1 - we are only changing the default configuration here). This is the article view Here you will notice that we now re-use the "maintitle" styling from the forums for the header of the page. The interface should feel much more consistent with topics and posts in your forums, while still standing out as content that is not directly contained within the forums. All user-action buttons have been added to the container bar below the content, and the date/poster info is moved above the content into it's own bar with a separate background color. This allows the content to better "stand out" without other meta data contained within the same area distracting the user's eyes. All in all there isn't much to say about the changes made to this page - we think they're pretty self-explanatory. And here is the archives view Again, most of the changes should be pretty self-explanatory. A list of the articles contained within the category is shown (as is pagination, when necessary), along with a sort-bar that allows you to resort the articles in a couple of different ways. This is not unlike IP.Content 2.0, however of course this is now displayed within the IP.Board wrapper. If you have sub-categories in the category you are viewing, they will be displayed below the list of articles. We have also redesigned the included media database demo so that it will work with or without the default demo site wrapper. Again, we have moved the sidebar to the right side of the page to put the focus on the page content, and we have simplified the interface, removing extraneous meta data. A list of recent videos is shown at the bottom of the page, while the most popular videos are shown on the right side of the page. It is important to note that this "media database" is nothing more than a regular database in IP.Content, with some customized database templates. You could entirely recreate this media database yourself without anything special - we ship with it simply to show some creative ways you can use the databases functionality. If you didn't notice in the screenshots initially, we've also updated the breadcrumb functionality for databases (and articles) so that if you are using the IP.Board wrapper, the breadcrumbs are correctly appended to the IP.Board secondary navigation bar, rather than being inserted separately. This should provide for better navigational consistency with other applications. We value all of our customers' feedback and as a direct result of the feedback received, you can see that we are making changes to IP.Content 2.1 in an attempt to make it easier to approach and use. You will no longer have to jump through hoops to use IP.Content inside or outside a wrapper - either way you wish to use the software, we've got you covered out of the box. We look forward to your comments!
-
Blocks, a core feature of IP.Content, provide you with an easy way to create static and dynamic widgets that can be embedded anywhere in IP.Content (and indeed, anywhere in IP.Board itself). There are three core block types: custom blocks (where you can effectively embed any HTML or PHP you want into a widget), plugin blocks (these blocks execute a PHP script to generate specific output, such as a mini-calendar or poll), and feed blocks (feed blocks are used to "feed" data from anywhere in IP.Board, as well as RSS feeds). While blocks are extremely powerful, it can be challenging for a novice to fully understand what can be done with the blocks in IP.Content. To get the most out of your blocks, and to make them customized and unique to your site, you have to know what variables are passed to the blocks and thus are available for your use. As part of our drive to make IP.Content easier to use and more accessible to novice and intermediate users, we have developed an inline block helper window for IP.Content 2.1 that we think will help everyone to better understand what variables are available in individual block templates. (Please be aware that the following videos and screenshots are of a pre-final copy of IP.Content 2.1. The interface may change before the final version is released.) Launching the Variable Help In the following screenshot, I have clicked on the "Recent Articles" block and am now presented with the form to edit the block template. You will see a "help" button that you can click which opens the block variable help window. Upon clicking the button, the variable help window opens Here we can see that two variables are passed into the template. Different blocks have different variables available to them, so this helps us understand what is available with the block we are currently working on. $title is a variable that holds the block title (as the description notes), while $records is an array that holds all of the records in this feed. You will note that $records is underlined because it is a link. When we click on this link, it expands the variable help for the $records variable. Now we can see that when we loop over the $records (this is done by default in the template), each member is an array, and we see what array keys are available. By default, you see this in the template: <li class='{parse striping="feed_striping"}'> <a href='{$r['url']}'>{parse expression="IPSText::truncate( $r['field_1_value'], 30 )"}</a> </li> </foreach> <foreach loop="$records as $r"> Here you can see that the default template uses $r['url'] and as well as $r['field_1_value']. If you were not familiar with the software, you may not know what this means. By utilizing the documentation available now, you can now gain an understanding of what is happening. $r['url']: The URL to the database record or article $r['field_1_value']: The formatted value for the field "Title" that should be shown to users Now What? While understanding what each variable in the default template is for is very helpful on it's own, you can now take your blocks even further. Now that you can access documentation on what variables are available, and what each variable does, you can modify your block templates to make them more personalized to your site, with the information you want to display. Let's walk through a quick example. Please see the following video, and the subsequent description of what we have just done. The first step we take is to create the block. For this demonstration, I am creating a "feed" block that pulls topics from the forums. Because I am showing "news" from a specific forum, I opt to order by "start date" (instead of the date the last post was made). I decided not to edit the template initially, and saved the block. Now I preview the block so you can see what it will look by default. The default template works well as a "latest posts" block, however if we are intending to show news, we will probably want to show the entire post. Next, I go back in and edit the block template. I decided to move the date to the beginning of each row, and then I show the name of the member that started the topic. Now, I remove the code that truncates (shortens) the post, and wrap it in a div that gives it a margin so it is easier to see. Lastly, I decided to add a small blurb to the end of each row that tells who last edited the post, and a little bit of information about this user. I added the last poster's name, the date they made their last post to the topic, their profile picture (the "mini" size version), the user's post count, and the number of times this user's profile has been viewed. I save the block again, and launch the preview again to give you and idea of what the end result will look like. All of the above was simply to demonstrate how you might be able to use the block help to find variables you may wish to use in your blocks. By using the block help, I was able to add a lot more data and thus make the block more useful. Wrapping Up Of course, the block templates still don't write themselves - you will need to determine what it is you want to show and where. We hope, however, that the block variable help panel provides you with direct, relevant documentation of the various variables you will want to access in your blocks. We believe this help panel will lower the bar to customizing IP.Content just a little bit further, making it easier for more people to do the things they want easier in IP.Content. We look forward to your feedback and hope you like the changes!
-
While we continue to work on polishing IP.Content 2.1 to make it easier to access and easier to use, we wanted to take a moment to highlight some of the changes we have already made which we believe will allow you to better make use of all that IP.Content 2.1 has to offer. One major goal we are continuing to work towards with IP.Content 2.1 is to make it easier for everyone to use, and we believe these two changes will do just that (even if our work is not yet done). Textual Keys in Templates Databases and articles map to pre-defined templates in the ACP. You can modify these templates, and even create new ones, as needed for your site. You can use one database template for all of your databases, or you can make one template for each database you create in order to give each database it's own unique look and feel. There are many ways to configure your templates so that you get the most out of IP.Content. One limiting factor in IP.Content 2.0 (and previous versions), however, is that within the templates you refer to the fields by the field ID. For instance, if you want to show the "content" for a database record, you may have to use a variable like so: $record[ $database['database_field_content'] . '_value' ]. In and of itself, this isn't a "problem", however when you are working with the template it's not immediately clear what variable you are referencing, and you will probably find that you need to look up what variables are available in the templates quite frequently. We have implemented a way to make this easier in IP.Content 2.1. When you add or edit fields you can now define textual keys, and then utilize these keys in your templates. For instance, the article title field has a text key of "article_title". Now, in your templates, you can refer to this value simply as: $record['article_title']. Clearly, this is easier to use, easier to remember, and easier to understand when you come back to this template at a later point to make changes. The upgrade routine will NOT update your existing templates. You are not forced to use the textual keys, and in fact you will need to add text keys to any fields you already have if you do wish to use them. However, moving forward we believe this will make it much easier for everyone working with templates to adapt the template to their needs. Overhauled Wizard Process IP.Content features a wizard process for block and page additions and edits. This wizard process is both necessary (some options can change based on previously selected options) and helpful for new users. While we are happy with how the wizard process works, we felt there were some obvious improvements that we could make, and we are happy to announce that they will be available beginning with IP.Content 2.1. Firstly, after a page or block is created, more often than not when you go edit either a page or block you are wanting to edit the content or template. We accounted for this in earlier versions of IP.Content by building a special secondary form that is loaded, and if you wanted to change anything else you needed to relaunch the wizard. In IP.Content 2.1 this is not the case - when you go to edit a page or block you are taken into the wizard process, defaulting to the page where you edit the page content or block template. This allows us to consolidate the process, giving you a more consistent user experience and reducing the total amount of code needed to deliver the same functionality. Secondly, you can now jump back and forth to any step in the wizard process at will (after the page or block is created, when editing the saved content). This means when you click on the page you will be taken to the step in the wizard where you edit the content, however if you just want to enable caching you can click on the "Caching" step, supply the values you wish to use, and hit "Save" without having to walk all the way through the wizard again. You can use a "Save and Reload" button on the wizard as well, if you wish to apply your changes, but leave the form still open. Additionally, when you are creating a new block or page for the first time, while you cannot jump ahead in the wizard, you CAN jump backwards to any previous step if needed. You can view a quick video here: http://www.screencast.com/users/bfarber/folders/Jing/media/aa2105db-7931-4364-8182-5e402e50ae0a We hope that these improvements make it easier for you to create your blocks, templates and pages, and allow you to better control and manage these resources once created. Please let us know if you have any feedback!
-
The article and database functionality in IP.Content helps you manage content on your site in many ways, so one goal we work towards in each release is balancing functionality and capability with ease of use. We don't want to remove functionality to make the software easier to use, but we also don't want the functionality available to inhibit how you use the software. We also work towards integration and consistency with the forums to help deliver a consistent experience for your users. Some changes you can expect to see to the databases and articles areas in IP.Content 2.1 have been implemented to help deliver on improved functionality, consistency, and ease of use. Facebook Like IP.Board 3.1 introduced the ability to "Like" any topic on Facebook, helping to share content from your community on the world's largest social network. This functionality has been well received, and we are pleased to announce that IP.Content 2.1 will feature this same capability for any articles and database records on your site. Your users will now be able to "Like" (and comment through Facebook) any content you post in your articles and databases areas (if you have enabled the Facebook Like hook). Easier Moderation It can be challenging for your moderators to know what content is pending approval in your databases in IP.Content 2.0. We have improved moderator interaction with the databases and articles in a few key ways that we believe will help you better manage the content stored in your databases. 1) Records pending approval in the articles section are now highlighted with the "moderated" CSS class on frontpages and in archive listings in the articles section. This allows you to easily see which articles are not yet approved so your moderators know which ones require approval. 2) Records pending approval are now tracked at the category level. This allows IP.Content 2.1 to show a link below each category "There are x articles pending approval". Your moderators can click on this link, and all articles pending approval will be shown at the top of the listing, similar to how the forums function. The records pending approval tracking has also been implemented for general databases as well. Enhanced Frontpages Frontpages are a new concept introduced in IP.Content 2.0 - they act as a landing page for the articles area (or individual categories within your articles section). We have added two new key features to the frontpage feature of IP.Content 2.1 which we believe will help you better control this page and configure it to work how you like. Pinned Articles The "pinned" status on an article is honored in the archive listings, however pinned articles were not automatically pinned to the top of frontpages. We have added a new setting to the Frontpage Manager in IP.Content 2.1.0 that will allow you to choose if you want your pinned articles to be pinned at the top of your frontpages as well. Pagination Frontpages were meant to act as a sort of "portal" for your articles, and were not originally designed to allow you to walk through all of your content. You could use the archives view in order to walk through all of the submitted content, if you wanted. In IP.Content 2.1.0 you can now enable pagination in the Frontpage Manager, allowing for pagination right from the frontpage. When enabled, a simple pagination method is utilized to provide a "Next Page" and "Previous Page" (when appropriate) at the bottom of your frontpages, allowing you to walk through all of your articles right from the frontpage similar to how a blog might work. It is important that you match the number of "articles per page" setting in the frontpage manager to the number of articles that are displayed (as frontpages can show fewer articles than you configure) in order for frontpage pagination to work 100% correctly, however after you have configured your frontpages correctly your users will now be able to more easily view all of the articles on your site without having to load each category's archive view individually. Database Plugin Updates Databases support plugin callback functionality to allow advanced developers to exert more control over how IP.Content processes data before updating it's local records. We have expanded the plugin support in 2.1 to give you better control in your callback plugins. All areas that support plugins now have preX() and postX() plugin callbacks, and further to that, context-specific data is now passed to the plugin to allow you to more easily check for errors in submissions or manipulate the data that will be stored in the database. For postX() plugins, the new primary key ID for the inserted content is passed to the plugin callback so you can manipulate the new record as needed. Even better, we already have basic documentation written up for the plugin changes, so we should have all of our plugin documentation available when IP.Content 2.1 is launched! We believe these small but useful features will allow you to better control the behavior of databases in IP.Content 2.1, giving you more functionality, more consistency with the forums, and more control over how IP.Content functions on your site.
-
IP.Content 2.1 Dev Update: Tighter Forum Integration
bfarber posted a blog entry in Invision Community
IP.Content features robust integration with IP.Board, allowing you to promote posts to articles and allowing you to use your forums to host the comments for your articles and other database records. This functionality is important to many administrators, helping integrate these two areas of your site closely. We have enhanced the IP.Content and IP.Board integration in IP.Content 2.1.0, giving you better control over how IP.Content interacts with your forums. Better Control of Topics You can configure IP.Content to post a new topic in the forums when a new database record is saved. This topic is then used to host the comments for the article or database record, and your users can then comment on the article either from the article page directly, or within the forums. Your moderators can control the comments from both areas, giving you a lot of flexibility with regards to how your databases function. We have enhanced this integration in IP.Content 2.1.0, allowing you to better control the topics that are automatically generated in the forums. Previously, when a topic was posted, the post consisted of the article or database record "content" only. Beginning with IP.Content 2.1.0, you can now control on a per-field basis which fields are included with the automatically generated forum topic. A new "Topic Format" option is available for each field in your databases, allowing you to control how that field is represented in the topic that is posted. If you leave the "Topic Format" option blank, the field will not be included in the automatically posted topic. Otherwise, you control the format very much like you would control a profile custom field - you can define a "{key}" and a "{value}" macro which IP.Content will replace appropriately. With this new option, you can control which fields are included (or not included) in the topic that is posted, and how they will be formatted. You could use this capability to create a form on your website which in turn posts topics in a hidden forum for your staff to review, or you could include more details about an article (such as the article image) when it is posted. This new option should give you much better control over the topics IP.Content creates in your forums. Better Synchronizing of Articles IP.Content 2.1.0 will include a new hook that will allow for comment counts to be more accurate when you use the forums to manage comments. Now, if your moderators delete a comment from the forums (instead of from IP.Content), IP.Content will be properly updated so that it reflects the accurate comment count. Additionally, when IP.Content posts a topic to host the comments for the article, a link to the article is now included automatically at the end of the post. This may seem like a minor detail at first, but this will help better integrate and cross-reference the content on your site so that your users can more easily discover everything you offer. Re-Use Existing Topics Many users have requested a way, when they promote a post to an article, to be able to use the existing topic to host the comments for the new article. Currently with IP.Content 2.0, when you promote a post to an article and you use the forums for the comments, a new topic will be created. You now have more control over this process in IP.Content 2.1. There is a new configuration option in the ACP under "Promote Article Settings" to allow you to control this new behavior. The options for this setting, labeled "Allow promoter to associate article?", are "Do not associate", "Allow promoter to choose" and "Automatically associate". When you select "Do not associate", a new topic is created, just as IP.Content 2.0 currently behaves. When you select "Automatically associate", when the post is promoted to an article the existing topic is automatically associated with the article, in order to host it's comments. When you choose "Allow promoter to choose", an option is available on the promotion form allowing you to re-use the existing topic to host the comments for the article. It is important to realize some caveats with this capability: While the option to "move" a post may still be available, this could result in breaking the topic association if you promote the first post in the topic to an article. It is strongly recommended that if you are planning to associate articles with their existing topics that you disable the ability to "move" posts. Promoting a post in the middle of a topic will result in the entire topic (including posts made BEFORE the one that was promoted) to appear to be comments of the promoted post. This could result in unrelated posts appearing to be comments of your articles. Notwithstanding the above noted "gotchas", this new capability is a highly requested feature that we hope allows you to control the way your articles and forums are integrated in the manner you see fit best for your site. -
Every administrator wants to have complete control over the web pages on their site, and this is what IP.Content is all about - allowing you full control over your site's content, right from your admin control panel. While IP.Content is already extremely configurable, we have taken the software even further with IP.Content 2.1, giving you finer control over some key aspects of IP.Content. More Control Over Searching With the first release of IP.Content, the central IP.Board search routine only supported searching IP.Content "pages". With IP.Content 2.0, we added support for searching within articles, databases and comments (in addition to the existing page searching support) from IP.Board's central search area. While this has proved useful and well-received, many administrators have requested more configuration options for IP.Content with regards to searching. IP.Content 2.1.0 will include two primary, oft-requested options that allow you to better control how searching on your website responds to requests. 1) You can now configure in the IP.Content settings which area to search by default when a user searches in IP.Content. In IP.Content 2.0, "Pages" were the default and this could not (easily) be changed. Now, you can configure IP.Content to search Pages, Articles, Article Comments, any databases you have, or comments in any databases you have by default (the user can still change this from the advanced search form and the search results pages as before), depending on what is best for your site. 2) You can now shut off searching within individual databases on a per-database level. When configuring the database you just toggle a radio button, and that database is no longer searchable through the central IP.Board search routine. When you turn off searching in a database, searching in comments within that database is also automatically disabled. These two new capabilities, combined, give you much more control over how IP.Board's central search areas behave with respect to IP.Content. Multiple Domain Support When you run IP.Content outside of your forum root directory, you supply the URL to the index.php file in the admin control panel. IP.Content uses this information to format the URLs to pages, and to understand which page was actually requested by the user. Some users have expressed their desire to run IP.Content from multiple locations on their site, for instance "articles.site.com" and "media.site.com", rather than running all pages under one base URL. With IP.Content 2.1.0 we have changed the setting "URL to index.php" from a text input field (which only allows one URL to be entered) to a textarea field, allowing you to enter as many URLs to the index.php file as needed, one per line. After you have supplied the URLs to the index.php file (or files), you can upload the special index.php to each location specified, allowing you to run IP.Content from more than one location on your site. IP.Content will then be able to parse any URLs you have configured for in the ACP. Search Engine Optimization A new configuration option has been added to the page configuration wizard which allows you to omit the page's filename from the URL when generated. This option will only work correctly for pages with the same filename configured under "Default home page" (index.html by default). The purpose of this setting is to indicate to IP.Content that when it generates URLs to the page, not to add the filename on to the end. For instance, if you have configured IP.Content to run from the root of your site, you may want users to access the homepage through the URL "site.com/" rather than "site.com/index.html". This new option allows for you to tell IP.Content to do just that. We hope you will find some or all of these new options useful. While these new capabilities aren't exactly whiz-bang new features, they allow you to more finely control how your site works, and after all - that's what IP.Content is all about!
-
Blocks are a core concept in IP.Content, allowing you to easily create widgets that you can embed on any page (within IP.Content or otherwise). IP.Content 2.1 introduces several useful updates for blocks that we believe will help you customize your pages even further than before. Status Updates Plugin Block IP.Board 3.1.0 improved status update functionality greatly, adding multiple status update support, commenting, and more. Along with this new functionality, the status updates sidebar plugin that is displayed on the forum index was updated to support the new features. IP.Content 2.1.0 introduces a new plugin block that allows you to display this status update plugin on any IP.Content pages you wish. New Feed Blocks As of IP.Content 2.1.0, you will now be able to create feed blocks of both profile comments and status updates (and replies). This new feed block is available in addition to the previously mentioned status updates plugin block. You can filter both feeds to control what content is pulled based on the poster and receiver information (for instance, show all profile comments made by my friends, or show all profile comments received by the admin of the site). These feed types can be useful for creating social networking style pages - perhaps you want to show a feed of all profile comments for the currently logged in user, or perhaps you want to show a feed of all recent status updates from the logged in user's friends. These new feed types can be used in creative ways to create social pages your users will love. New Filter Options: Members Feeds Beginning with IP.Content 2.1.0 some new filtering options have been added for member feeds. You can now restrict a member's feed to only show members you are friends with. This can be useful to create a "friends feed", for instance, in order to list all of a particular user's friends. You can also now filter member feeds to only show logged in users. You could, for example, combine this with the option to only show friends for a user to show all of your currently online friends. These two new filter options can be used in creative ways to make interesting member feeds for your community. Dynamic Filtering for Databases In IP.Content 2.0, you can filter database and article feed blocks based on arbitrary data in up to 5 fields. This can be useful to create content-driven feeds based on specific fields in your database, however it has the drawback that the feeds are always static based upon the configuration in the ACP. Beginning in IP.Content 2.1.0, you can now configure the database and article feeds to filter based on input variables. For instance, you can embed one of these feed blocks on a page, and then when you link to the page you can add an input variable that will allow for dynamic filtering of the content. This is probably explained easiest through an example. Let's say you have a page "results.php" that you have embedded a database feed block in. This ecan create a feed of results from your database based on the block configuration in the ACP. With IP.Content 2.1.0, you could set one of the custom filter fields to search one of your database fields for "@title". The @ symbol here tells IP.Content to obtain the filter from the input variables - in this case an input variable named 'title'. When linking users to this page, you would use a URL similar to "mysite.com/results.php?title=hello". When IP.Content loads this page and parses the block, it will use the value from the input variable ("hello" in this example) to search in the field, finding all records that have "hello" in the title. This feature may be hard to understand at first, but affords developers with powerful ways to create unique pages without having to manually configure feeds for every possible scenario. We will be posting some documentation on how to use this feature following the release of IP.Content 2.1.0. We hope you find these updates to the blocks in IP.Content 2.1.0 useful and look forward to your feedback!
-
Improvements to Template Management Development of IP.Content 2.1.0 is well underway, and we've reached the point where we are ready to start sharing with you some of the things you can expect to see updated in IP.Content 2.1.0. We hope you are as excited as we are about the upcoming update, so without further ado, let's cut to the chase... Revision Support Have you ever been editing your page templates and made a change that you wish you could undo, but weren't sure what the template was like prior to making your change? Or maybe a helpful admin on your site made a change to a database template that you later discovered broke some functionality that you had previously added? There are often times when you may wish to review, or possibly even restore, a previous version of one of your templates. With IP.Content 2.1.0 this will be possible through the administrative interface. Anytime you edit a template in IP.Content 2.1.0, a backup of the template is saved in the database. A new menu option available for each template allows you to easily review all of the stored revisions. When you click on "Manage Revisions" it brings you to a new page that will list all of the stored revisions for a given template in reverse chronological order. From this page, you can edit and delete any previously stored revision. You can also restore a revision from this screen. If you restore a revision, the current copy of the template is stored as a revision for future reference. You can also compare a revision from this page against the currently active version of the template, allowing you to pinpoint exactly what has changed. In addition to all template types (page, database and article templates), revision support is also available for pages! That means if you need to restore an older copy of a page, you no longer have to worry about finding a backup somewhere - just use the revision manager to keep track of all your changes, and backtrack through them as needed. Sharing Made Easy Many of our users have asked for an easy way to share templates, and we are pleased to announce that IP.Content 2.1.0 will now include the ability to import and export any of your page, database and article templates. From the template listing screens, you can now export both individual templates AND entire categories of templates If you export an entire category of templates, the category and ALL templates in the category will be included with the export. Of course if you export a single template, only that template will be included in the export. After you export the template, you can then import the template into any IP.Content template screen. If you import an XML export that contains a category, the category will be inserted if it does not already exist. All templates that do not exist will be inserted as well, otherwise templates that already exist (based on the "template key") will be updated. We hope that the ability to export and import templates will help customers in 2 primary ways We hope these template manager updates provide you with useful tools to help you better manage your website. We also hope that the import/export functionality is utilized to build a robust collection of community-contributed templates that everyone can benefit from. If you have any questions or feedback, we'd love to hear from you! Otherwise, stay tuned for our next IP.Content development update blog entry... [*]It should now be much easier to transfer templates from a development site to your live site. After setting up your database, article or page templates how you want, you can export them and import them into your live site. [*]Skinners can now create IP.Content templates and share them easily through the resource site. This allows for skinners to share free and paid IP.Content templates with users, and allows users who are not as familiar with HTML and CSS an easy way to install templates without having to code them from scratch.
-
IPS is constantly looking for ways to improve, and one area of focus is documentation. We get a lot of feedback regarding documentation, and quite frequently the feedback we receive is, unfortunately, too vague to act on specifically. It's always a pleasant delight to get specific, focused feedback on how we can improve. Last week I happened across a topic on our forums with just this kind of feedback, and after reviewing the suggestion and what it would take to implement, we agreed that the work was worth it. Cap'n Refsmmat posted some well-thought-out, clear and concise feedback on a specific action we could take that would make finding documentation easier, and I'm happy to announce that this change has been put in place on our website. It was pointed out that as a user, it doesn't matter too much where the documentation you are searching for is located specifically. Whether it is a community article, official documentation, or an error code - you just want to find out more information, regardless of where that information is located. Today I built a few Sphinx search indexes of our downloads area, our error codes database, our official documentation, and our community-submitted articles, and then built a search interface to query all of these areas at once. We have replaced the search form in our documentation area with this new search utility. Feel free to test out the new search tool and let us know what you think! Just head on over to our documentation page and use the search box at the top of the page to look for whatever it is you need to find. We may evolve this new tool further in the future, but for now we hope that it helps you find what you are looking for with less hassle and bouncing around.