Drupal開発実績 Think IT

Think IT

Think IT is a technical commentary site for engineers operated by Impress Co., Ltd. with the slogan "Media Utilizing Open Source Technology in Practical Use". We are publishing useful since its inception in 2004, focusing on OSS (Open Source Software), and in recent years, it has been focusing on technology trends surrounding clouds in particular. It continues to disseminate information to make effective usage of OSS in the business scene.

It also shows knowledge-based articles on the field of development everyday.

Background of the Renewal

At ThinkIT, there was a large amount of content assets accumulated in 13 years since its opening in 2004. Initially, website operation by HTML, CMS other than Drupal was used. After introducing Drupal, we reached this current system renewal. Originally, Impress had been using Drupal on large-scale media reconstruction. And customers themselves were well considered by Drupal's ease of customization and necessary functions for the media site.

This time it was a major renewal including the refurbishment of IA (Information Architecture) · renewal of design to promote editing work smoothly. And preparation of a system that can respond promptly to requests not only from users but also on the sales side.

About the Renewal of Live Site

In terms of renewal, it seems easier to start a new site at a glance in the sense that it will just change some existing sites, but in reality, renewal while maintaining the site is technically more difficult. In general, there are processes which are necessary other than the usual site development process as follows

  • Analysis of functions and modules implemented in the past
  • Implementation of export function to extract only current contents from database
  • Structure change of content field due to IA renovation
  • Overall rewriting and redirection of URL structure
  • Fully rewrite breadcrumbs and the like
  • Added new functions and defect repair from old system
  • Overall rewriting of templates and Views accompanying design change
  • Development of themes that make response material compatible with responsive design without changing the old content itself
  • Development of migration function to capture content reconstructed with new IA policy while maintaining content ID
  • Cleanup including ID of dummy information created during development
  • Migrating user data
  • Synchronization with content posted / uploaded during renewal development

In the case of ThinkIT, it was necessary to transfer existing tens of thousands of contents accumulated all through the 13 years of site operation. The site was operating in Drupal 7 while changing the structure. Therefore, there was a background that we were asked to move which  ANNAI specializes in using Drupal.

Introduction of Mounting Function

Feature Article Creation Function

It is a function that makes it easy to make special feature pages like those done in magazines by making a feature page and archiving the contents of  past articles related to it. Rather than letting past articles be buried, by reusing them as feature articles, it is possible for each article to produce higher added value. It is a very useful function for the management of a media site which utilizes the function which Drupal is good at. It also shows contents and displaying them in various forms.

We replaced the one implemented by Drupal's Book function to a more flexible format.

thinkit

Select an article you want to take up as a feature article from the feature management screen.
URL:https://thinkit.co.jp/topics/8345

Series Article Creation Function

It is a function that summarizes the article at the delimiter of serialization and arranges it for easy reading. Switching from the implementation made by Drupal's Book function to Taxonomy's implementation. In this case, the degree of freedom is higher and the reusability of the content is improved.

thinkit

As an article of series (left) "Raspai Easy Cooking ~"

Article (right) I posted "Baked Minecraft Pi with Scratch 2 MCPI".

thinkit

Article (Right) Edit screen of "Baked Minecraft Pi with Scratch 2 MCPI".

Just by selecting "Raspai Easy Cooking ~" as a serial article, it will be posted on the series article page.
URL:https://thinkit.co.jp/series/5448

IT Event Calendar

ThinkIT is a feature that allows readers to contribute IT-related events to the calendar in the site. The posted event is registered in the calendar after checking the contents by the editorial department. We have implemented an approval workflow function that posts from readers which are put on hold in a non-public state first and then posted after confirming the contents.

In the past, you fill out the details of the event on the inquiry form and post it on the event calendar manually Then it will be checked by the editorial department thereafter. But by adding this function, it will be posted on the event calendar only by approval. Now it is made possible to greatly reduce the time and labor required for posting.

thinkit

Display event postings from readers in calendar and list format

thinkit

For readers you can post event postings from the form.
URL:https://thinkit.co.jp/event/register

URL function for one time guest

With the author-proofreading function, in order to respond to the desire to let a specific person check a page without logging in to the CMS, we implemented a function to generate a URL that can view non-public articles under an approximate time frame.

Approved contribution function by workflow

We improved the efficiency of business flow by separating the "article editor" who writes the article and the "approver" who decides to publish the article. When "article editor" writes an article, articles waiting for approval are accumulated on the management screen of the "approver". The "approver" then decides to publish and may not disclose after checking the content of the article. By doing this, we implement a series of workflow as a site function. An article requiring correction is made public in a private way and an article that can be released is made public also by the approver.

In addition, we have implemented a scheduling function to set timing of article publication, so you can specify the date and time of article release in advance.

thinkit

Articles waiting for approval are displayed in the draft.

Retrieving articles from external sites

It also implements the capture of articles from external sites. It is also possible to publish articles regularly obtained articles delivered in XML from external sites through an approval flow by "Approver".

thinkit

You can acquire articles automatically by registering the XML feed of the external site.

Smooth paste function from Word sentences when editing articles

We implemented a function that allows editors and writers to post from manuscripts edited on a word processor with less trouble. If you copy and paste sentences from Word containing images, unnecessary tags are eliminated. And sentences aside from images are pasted to the HTML editor on the site following the Word layout. Afterwards you can complete the article by just clicking on the image and it will start uploading. Since you can make a layout in Word in advance, you can greatly reduce the labor in the posting stage.

thinkit

The layout is retained even if you copy and paste the word sentence (left) to the HTML editor (right).

High-speed search function using open source full-text search system Solr

For searching inside the site, we use "open source full-text search system Solr" that creates high-speed search. Also, Solr is used to automatically display another article related to an article. The content of the article is full-text searched by Solr and related articles are automatically displayed.

thinkit

Solr users can search for high-speed user searches
URL:https://thinkit.co.jp/search/site/drupal

thinkit

Extract related articles by Solr's full text search and automatically display the bottom of the article.
URL:https://thinkit.co.jp/article/8370

Cache function with static file

Although Drupal is a dynamic CMS, ThinkIT implements the function of caching contents as static HTML. This reduces the burden on the server and achieves a site with fast display.

Other functions

Although it is a site with a very large amount of information, Drupal has a powerful categorization function to categorize and summarize articles from various perspectives, devising how to show information and creating an easy-to-read site.

I am proud that I was able to provide Theming with considerable confidence, including design and responsive response.

In this renewal, while content is being transferred to the new development site, new contents will be added on the current site.Transfer of the latest articles to the new development site smoothly creates seamless site migration.

Further Continuous Function Refurbishment · Towards Design Renewal

Although it was a large-scale renewal, we would like to make use of the flexibility of Drupal by constantly adding functions and refurbishing. Thus, constantly planning to make better sites with the editorial department.

Drupal has various functions suitable for media sites, such as strong categorization and publishing articles taken from external sites and according to the approval flow. This feature is difficult to implement with other CMS yet many things are possible with Drupal. Currently, there is a demand for improvement in operation with existing CMS, and we think that if you are planning to develop functions promptly in line with your business needs, you should consult ANNAI.