The next version of WordPress, the most popular platform for websites, is due on the 1st of May, 2010. So, we propose to read about the most significant changes that are coming in WordPress CMS 3.0.
Combining WordPress MU and WordPress
It’s a great piece of news for those specialists who work at professional website development on WordPress. And what does it mean for CMS users?
They will be able to create multiple sites using the same admin area (without any new installations).
Custom record types
This function wasn’t added in WordPress 2.9, but finally will appear in the 3.0 version. The combination of record types and taxonomy will make WordPress a more powerful CMS. This option allows to create different types of articles for a website or blog.
Improving website menus
А so-called Custom Woo Navigation will be included in the WordPress system, its mission is to make the website navigation more convenient. Users will be able to drag and drop menu items on a special page, like on the page with WordPress widgets.
New default template
This new template supports replaceable backgrounds that can be added in functions.php:
add_custom_background ();
Templates for designers
WordPress 2.9 has an option that allows to create templates for categories with their URL (slug) in category-slug.php. So, the 3.0 version will have similar feature for WordPress website developers (a new function get_author_template ()).
Professional portal development demands special knowledge of Flash, JavaScript, Java-applets and ActiveX-components. All these technologies are not supposed to complicate your life. But sometimes it’s not so easy to enrich user experience going beyond traditional tasks and at the same time ensure great results in a short space of time. On this point Rich Internet Application and RIA development offers revolutionary possibilities that combined in a single runtime environment.
What does it mean for users? It means “all in one” or integration of content, communications, user interface and a set of custom components and. Of course, all these units work in real time.
What does RIA mean for programmers? First and foremost it opens doors to Rapid Application Development or RAD. Developers use advantages of Ajax GWT programming and in the shortest possible time create new web portals based on reusable program components.
Beyond question, web is a dynamic, vibrant platform, where it is very important to reduce the time from birth of new ideas to their realization. That is why such RIA components as Ajax Toolkit will be in great demand. They allow to make fast and easy changes in new applications, giving developers what they want at this very moment for this very project.
Most users do not scroll… or they do, nevertheless
According to the research conducted by Jakob Nielsen, a famous usability consultant helping thousands of web developers all over the world, only 23% of users scroll web pages visiting a site for the first time. It means that 77% of users will not scroll web pages; they will look through only the upper part of websites. These data indicate how it is important to show the most significant information on the visible part of a web page. Nevertheless it does not mean that you should put excessive amount of information in the website header.
Basecamp shows how excellently can be used space of the main web page. It contains a great screenshot, subtitle, proposals, call to action, list of customers and video at the top of the site (height = 768 pixels).
So, those who working at web application development and custom programming services should put only key data on the home page:
1. A site name.
2. Your unique value proposition.
3. Navigation or links to the most important pages.
However, user habits change constantly. Recent studies show that in some situations users are ready to scroll to the bottom of the page with pleasure. Also web development companies should take into account a great variety of displays with high resolution.
Web development services is inseparably linked with online business. So our next two projects are connected with e-trade. Today no one doubts the effectiveness of online trading. Sales through the Internet shopping minimize costs, allows to enter new markets, and attract customers.
But before to make profit from website you must launch your customized online store. And this process will be related to the right choice of CMS. It is cheaper and safer to use a ready-made software for the most common and typical tasks of online business.
The best solutions among open source e-commerce systems are Magento and X-Cart. These products help to create e-shops and obtain multifunctional, high-tech sites for easy sales. Moreover they can be managed without special knowledge in programming. These are ready web sites for electronic commerce. You can add additional features or modify design according to the peculiarities of any specific business.
With the help of Oxagile software programming our customers obtained new online stores with pleasant look-and-feel:
An X-Cart based online store for a Canadian company that offers furniture, wall decor and home accessories.
As a result, we have gained experience in ecommerce and online business. So now we can easily attract more visitors and raise product sells for our customers.
What determines success in web development? Component of success are professional design, attention to customer’s needs and the correct choice of CMS. We have made certain of it from our own experience.
So we want to share the results of successful web development based on open source CMSes for our clients from USA and the Netherlands.
Let’s start with our favorite CMS Joomla. By the way, why so many webmasters choose this CMS for their projects? The answer consists of one word, and this word means “accessibility”. So accessibility has made CMS Joomla such a popular one. It is absolutely free of charge. But it does not mean poor quality or lack of functionality. In reality Joomla has incredible functionality and it was made as a software product of high quality.
So Oxagile has created two new fully functional websites and expanded its company portfolio:
CMS Joomla is very logical and consistent, developing software projects you can see it at all levels, starting with installation and finishing with text editing. It simplifies your understanding of how to work with site content.
1. Use DOCTYPE Declarations
It is always better to indicate doctype in the header of each html page: <! DOCTYPE HTML PUBLIC “- / / W3C / / DTD HTML 4.01 / / EN” “http://www.w3.org/TR/html4/strict.dtd”>
For XHTML: <! DOCTYPE html PUBLIC “- / / W3C / / DTD XHTML 1.0 Strict / / EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>
Don’t write any other characters before doctype (no gaps, no line breaks). Otherwise you will get strange fields in body and html tags.
2. Set “position: relative”
Using this hack you can cure the vast number of problems with IE6 (for example, invisible or weird positioned blocks).
3. Use “display: inline” for floating blocks
Floating elements with margin can cause a well known bug in IE6, we mean double margin.
For example, indicating the left margin as 5px we get 10px as a result. “Display: inline” fixes this problem and your CSS becomes valid.
4. Set “hasLayout” in properties
Many rendering bugs in IE6 (and also in IE7) can be corrected by “hasLayout”. This is an internal feature of IE, which indicates how content must be aligned and positioned (relatively to other elements). This feature can be also used when you need to transform line item (e.g., <a>) into block or when transparency effects are needed.
The easiest way to indicate this property is to set height or width (zoom can also be used, but it’s not a standard CSS). It is recommended to specify the actual size of your block, and if it’s not possible (dynamically changing height or width), you can do this: “height: 1px”.
5. Fixing the repeated characters bug
This bag appears in lists and duplicates the last 1-3 signs of the last item in the list. There are some ways to fix it:
Use “display: inline” for floating elements;
Set “margin-right:-3px” for the last item in the list;
Use conditional comments;
Add an empty div in the last item of the list (sometimes, you must set “width: 90%” or other appropriate width).
6. Use advanced CSS selectors for other browsers and standard selectors without percentage values for IE Or you can just use “!important”.
Example #1:
# element (
min-height: 40em;
height: 40em;
)
/ * Ignored by IE6 * /
# element [id] (
height: auto;
)
Example #2:
body (
margin: 4% 0! important;
margin: 40px 0; / * IE6 only * /
)
Oxagile developers love WordPress. By the way our own blog is based on this open source application. And today we are going to share our secrets of successful web development and Wordpress blog customization. Some pieces of advice will take only some minutes to realize them; others will require some more time and more development skills. But you may be sure that all these tips will allow you to provide more qualitative blog customization services for WordPress: Create your personal theme options panel
You definitely have noticed that WordPress blog themes and template development is one of the most popular services. People all over the world readily seek, buy and download paid, free and custom themes / templates. Moreover some of them want to change their blog design on regular basis. So your ability to provide such a possibility will be appreciated.
A theme options panel will allow you (your clients) to make changes in the current WordPress theme without code correction. This nice tool for quick and easy customization can be used by every theme developer.
Shortcode as a short way to users’ hearts
No one likes long and tricky code. All living creatures aspire to simplicity and harmony. So WordPress website developers can give them what they want – clear short codes for user themes.
You can write short code using theme’s file functions.php. The following function should be added and saved into it:
function wdl() {
return 'Web Design Ledger rules!';
}
add_shortcode('wdlrules', 'wdl');
After that shortcode is your little reliable friend, that definitely will help you to find a short way to your blog users’ hearts.
A lot of developers face a problem of creating a table with scrollable body and fixed header during their web application development tasks. There are several solutions which suite to different situations.
Oxagile software development company created a new solution which supports both IE7 and IE8 and is also suitable for Firefox 3.5 and Google Chrome.
Here is a demo:
Column 1
Column 2
Column 3
Column 4
Column 5
Column 6
Column 7
Column 8
Column 9
Column 10
Cell 1.1
Cell 1.2
Cell 1.3
Cell 1.4
Cell 1.5
Cell 1.6
Cell 1.7
Cell 1.8
Cell 1.9
Cell 1.10
Cell 2.1
Cell 2.2
Cell 2.3
Cell 2.4
Cell 2.5
Cell 2.6
Cell 2.7
Cell 2.8
Cell 2.9
Cell 2.10
Cell 3.1
Cell 3.2
Cell 3.3
Cell 3.4
Cell 3.5
Cell 3.6
Cell 3.7
Cell 3.8
Cell 3.9
Cell 3.10
Cell 4.1
Cell 4.2
Cell 4.3
Cell 4.4
Cell 4.5
Cell 4.6
Cell 4.7
Cell 4.8
Cell 4.9
Cell 4.10
Cell 5.1
Cell 5.2
Cell 5.3
Cell 5.4
Cell 5.5
Cell 5.6
Cell 5.7
Cell 5.8
Cell 5.9
Cell 5.10
Cell 6.1
Cell 6.2
Cell 6.3
Cell 6.4
Cell 6.5
Cell 6.6
Cell 6.7
Cell 6.8
Cell 6.9
Cell 6.10
Cell 7.1
Cell 7.2
Cell 7.3
Cell 7.4
Cell 7.5
Cell 7.6
Cell 7.7
Cell 7.8
Cell 7.9
Cell 7.10
Cell 8.1
Cell 8.2
Cell 8.3
Cell 8.4
Cell 8.5
Cell 8.6
Cell 8.7
Cell 8.8
Cell 8.9
Cell 8.10
Our idea is simple:
We created a mark-up which contains two tables: Table 1 for header and Table 2 for body which look and act as a single table.
We put both tables into a container which scrolls them horizontally.
We put Table 2 for body into a container which scrolls it vertically.
We created a container which simulates the scroll of the body and is positioned in the top right corner of visible content.
Both tables and all their cells should have fixed width.
You should always know the quantity of columns beforehand.
Cells must have fixed height for IE7 (when you use some DOCTYPEs) and you should know the quantity of rows, as in some cases IE7 does not support document.documentElement.clientHeight property.
Create header and body tables with fixed table and cell width. For example, if you have 10 cells, you should set the width of each cell to 100px and the width of the whole table to 1000px).
Create a DIV-container, let’s name it “y-scroll”, which wraps Table 2 (the body-table).
Set the width of the y-scroll container to be equal to the width of Table 2 plus the quantity of columns in Table 2.
For example, if the width of Table 2 is 1000px and the quantity of columns is 10, the width of the container should be 1010px.
Note: This amendment takes place only in the case when table border width is set to 1px.
Set overflow style of “y-scroll” to: x – hidden, y – auto and max-height to be equal to the height of Table 2 visible content.
Create a DIV-container, let’s name it “x-scroll”, which wraps both tables. Set the width of the scroll to be equal to the width of visible content. Set overflow style to: x – auto, y – hidden.
Now you have a scrollable table, but there are two problems:
The header table is shifted 1px to the left.
To fix this problem just wrap this table into a DIV-container. Name it “header-container”.
Vertical scroll appears only after you scroll the whole table horizontally.
To fix this problem create a scroll which simulates the behavior of the real vertical scroll and is positioned at top right corner of Table 2 visible content.
Create a DIV-container, let’s name it “fake-y-scroll-container”. Set position of this container to relative. We use this DIV as a container for absolute positioning of fake scroll. Fix the width of the container in the same way as for “x-scroll” and set overflow style to hidden.
Create a DIV-container, let’s name it “fake-scroll” and put it into the “fake-y-scroll-container”. “Fake-scroll” should be positioned absolutely and have inner content height equal to the height of Table 2.
To set the inner content height to be equal to Table 2 height, create an inner DIV-container, let’s name it “table-emulator” and set its height with JavaScript on page load:
var tableEmulator = document.getElementById(’table-emulator’);
I would also like to highlight 3 issues that you would like to know when you manage Joomla:
Security:
Joomla is free which means anyone can download it and look at the code. When hackers find a vulnerable Joomla site, the hack is able to break the password protected CMS portion of the site and upload ads for pharmaceuticals or pornography.
On the other hand, good guys from all over the world also look through the code to find security holes to report them or to provide fixes to the community. Joomla team periodically issues security fixes indeed. Please subscribe to their mailing list to be aware and to make ontime installations.
Usability:
When you are editing content and try to bold a few words or highlight certain words using a different color of text or something, Joomla may add styling code to the backend that has to be cleaned out the next time you want to edit. If it isn’t, over time your font color, style, or placement may become broken.
The issue is that Joomla provides WYSIWYG editor for content submitting. It is intended for users not familiar with programming or HTML but who know user interfaces like MS Word. It is a very hard task to convert visually formatted content into HTML automatically. Therefore it is better to paste the written text to notepad, then to the editor, and then to edit it.
Customizations and upgrades:
When performing customizations or upgrades do not touch Joomla core files, otherwise there may be damage to the system.
Joomla provides several ways for customizations: components, modules and plug-ins. Customizing Joomla with these methods doesn’t require core files modification. Thus, there are no problems with updates and no PHP knowledge is required in this case.
Summary:
We choose Joomla CMS for projects because it provides good base platform to build on. Sure thing, any CMS applies some restrictions but Joomla provides a lot of basic functionality that you have to have developed from scratch otherwise. In most cases, Joomla is more convenient for our customers.
Web development Team from Digital Technology Group (DTG, University of Cambridge) has released an application for Android, which allows anonymous users to travel across the Network with the help of TOR (The Onion Router). This program for anonymous web surfing can be downloaded and used free of charge. It works on the basis of peer2peer technology; it means that this new mobile app uses connection via distributed network of servers, supported by enthusiasts from around the world, in this way it prevents user’s location definition.
This mobile application for the Google Android is the result of a summer project and consists of 2 parts: TorProxy and Shadow (both of them released under the GPLv2). More details about them, including download links and installation information, are available at DTG.
Jacob Appelbaum, one of the TOR Project active participants, said that new Android app is “not ready for full use”, but nevertheless it’s a “nice demo”. So, we believe that such software products will initiate new projects and will present new ideas for mobile programming.