CMS

Data Import Specification

Introduction

The import consists basically in placing the media files related to the contents that you want to import in an FTP folder given by Miles33 and populating some import tables by logging from any client in a database provided by us.

Our procedure can import the following data:

  • Articles
  • Sections ( Categories for contents )
  • Association between articles and sections
  • Audios
  • Games
  • Letters
  • Videos
  • Photogalleries
  • FrontEnd Users
  • BackEnd Users

Audios, games, letters, and videos are entities that must extend an article entity and must have all the article fields too.

What we'll provide?

We'll contact you and we'll give you an FTP address pointing to a private space where you can
login (we will provide you a user and a password) and upload your files with the data to be imported in it. 

Under our upload folder will be created another folder in order to divide the normal files present in the platform from the files related to the imported contents. The name of the folder will be provided to you before the import in order to make you able to populate the fields of the import tables related to the medias in a proper way.

We'll also give you the credentials to connect to a database where you'll see all the import tables. You'll be able to insert, edit or delete records in order to fill this tables with all the necessary data.

Data format:

External Reference Id

Each record of data can have a “External reference ID” that it’s used to match records of different entities (
ex. article ←→ author). For example referencing the same ID in an article for an user as will see in the
following specification tables permits to associate a specif imported user to an imported article. Basically
you can fill those fields with the primary IDs of the articles of your old platform.

Media File Specification

The system accepts videos, images, and audios of the following types extension:
jpg, jpeg, png, mp4, mp3

Specification of files format

All the values inside the .sql file must follow the orders specified in the Fields table below.
The .sql of the extended entity as Audios, games, letters, and videos must include all the fields of
the base entity Article.

Photo Galleries specification

For the photogallery only the data has to be divided in multiple records one for each photo. The
external_id_article field must be filled with the related article ID.

Contents Specifications

Pay attention to this section of the 'tutorial', when you'll see 'extended entity' between the table name it means that the table has the field that you'll see + the field of the article table.

Article ( Base Entity )

Table name: import_articles

1 external_id Integer  Source reference id
2 author_id Integer Source reference author id ( ref. to panel_users )
3 creation_date yyyy-mm-dd
hh:mm:ss
Creation date of the article
4 publication_date yyyy-mm-dd
hh:mm:ss
Publication date of the article
5 last_modified yyyy-mm-dd
hh:mm:ss
Last modified date
6 last_userid Integer Source reference author id of the last modification
7 title* Plain Text Title of the article
8 subtitle Plain Text Subtitle of the article
9 summary Html Summary of the article
10 text Html Text of the article
11 image Plain text

Relative path of the image inside the folder that we'll provide to you. This field will be filled in the following way:

{folder_name} = in the following example the name of the folder provided by miles will be indicated using the previous syntax

/{folder_name}/nameOfTheImage.jpg

EXAMPLE:

If the name of the folder is miles33 and the name of the image is red.jpg the field will be filled as follows /miles33/red.jpg

12 views Numeric Number of views
13 tags Comma separated
string values
Tags of the article
14 pretitle Plain text Pre-title of the article
15 web_user_id Numeric Source reference web user contributor id ( ref. to web_users
)
16 img_title Plain text Title of the image
17 img_desc Plain text Description of the image
18 address Plain text Address of the article
19 latitude Numeric Address latitude
20 longitude Numeric Address longitude
21 relateds Comma separated
string values
Relateds article source reference ids
22 title_alt Html Title of the preview
23 subtitle_alt Html Subtitle of the preview
24 summary_alt Html Summary of the preview
25 image_alt Plain text

Relative path of the image inside the folder that we'll provide to you. This field will be filled in the following way:

{folder_name} = in the following example the name of the folder provided by miles will be indicated using the previous syntax

/{folder_name}/nameOfTheImage.jpg

EXAMPLE:

If the name of the folder is miles33 and the name of the image is red.jpg the field will be filled as follows /miles33/red.jpg

26 pretitle_alt Plain text Pre-title of the preview
27 author Plain text Author of the article
28 imgtitle_alt Plain text Title of the preview image
29 imgdesc_alt Plain text Description of the preview image
30 type Plain text

Possible values:

- article
- audio
- gallery
- game
- letter
- video

31 quotes1 Plain text Quotes 1 of the article
32 quotes2 Plain text Quotes 2 of the article
33 quotes3 Plain text Quotes 3 of the article
34 slug HTML String field ,that is the title of the article(example: taormina-un-commissario-il-g7-sindaco-giardina-chiede-deroghe-speciali)

-slug: "slug" is a string field that identifies the article ,that often used in the url.

Audio ( Extended Entity )

Table name: import_audios

1 filename* Plain text Relative path of the
resource
2 length Integer Length of the track
3 size Integer Size of the track
4 link_itunes Plain text Link itunes
5 category Plain text Category

 

Game ( Extended Entity )

Table name: import_games

1 code* String Source code

 

Letter ( Extended Entity )

Table name: import_letters

1 email Plain text Email of the writer
2 city Plain text City of the writer
3 answer Plain text Answer whom
responding

Video ( Extended Entity )

Table name: import_videos

1 is_file* Boolean

0 = Embed a script

1 = Relative path of the video inside a folder on
the same level of the
xml source

2 code* String

Script or path.

If the code is a path it will be the relative path of the video inside the folder that we'll provide to you. This field will be filled in the following way:

{folder_name} = in the following example the name of the folder provided by miles will be indicated using the previous syntax

/{folder_name}/nameOfTheVideo.mp4

EXAMPLE:

If the name of the folder is miles33 and the name of the video is movie.mp4 the field will be filled as follows /miles33/movie.mp4

 

Photo Gallery ( Basic Entity, must have a reference to Article [1-N] )

Table name: import_galleries

1 external_id_article* Plain text Source reference id of the
related article
2 photo* Plain text

Relative path of the image inside the folder that we'll provide to you. This field will be filled in the following way:

{folder_name} = in the following example the name of the folder provided by miles will be indicated using the previous syntax

/{folder_name}/nameOfTheImage.jpg

EXAMPLE:

If the name of the folder is m

3 title Plain text Title of the image
4 caption Plain text Caption of the image
5 position Numeric Order of the image

Preset Specification


This chapter is needed by who requires to create custom elements those are not covered by Extended Entities
explained above.


Preset allow us to create a new object, with customized fields, that will extend the base entity Article.

  Preset
  Used to create a custom object

  Table name: import_presets

1 Id* Integer Id of the preset
2 name* Plain text Name of the preset

 

Preset Fields
Contains all the fields that will be used for the preset

Table name: import_preset_fields

1 Id* Integer Id of the field
2 name* Plain text Name of the field
3 type* Plain text

Type of the tags,

Possibile values:

- string

- date

- number

- currency

 

Preset Elements
Define the structure of the preset

Table name: import_preset_elements

1 id_preset Integer Id of the preset
2 id_field* Integer Id of the field
3 order* Integer Order of the fields,
this value will be used to
define the order of the Preset
Values Entity

  Preset Values ( Extended by Article Entity )

  Table name: import_preset_values

1 id_preset* Integer Id of the preset
2 tag_1* Value of the tag_1
3 tag_2* Value of the tag_2
n tag_n* Value of the tag_n

SEO

This table specifies additional information related to the article (or its extended content) that are parts of the

seo and social networks tags meta-information.

Table name: import_seo

1 external_id Numeric Source reference id
2 article_id Numeric Source reference id of the
article/content ( ref. to articles )
3 title_tag Plain text Tag title of the article
4 slug Plain text The Permalink/Slug in a string
without spaces naming the title
part of the composed url.
Ex: “title-of-the-article”
5 og_title Plain text Og:title of the article
6 og_description Plain text Og:descriprion of the article
7 twitter_title Plain text Twitter title of the article
8 twitter_description Plain text Twitter description of the article
9 description Plain text Meta description of the article
10 keywords Plain text Meta Keyword of the article

Sections

Table name: import_sections

1 external_id Numeric Source reference id
2 name* Plain text Name of the section
3 position Numeric Order of the section
4 layout Numeric Reference for VirtualCMS
layout id
5 creation_date yyyy-mm-dd hh:mm:ss Creation date
6 macrosection_id Numeric Source reference id of the
macrosection ( ref. reflective
to sections )
7 keyword Comma separated string
values
Meta Keywords of the section
8 url Plain text Url for section pointing
outside
9 is_index Boolean 0 = Section page
1 = Index page
Max one index for channel
10 channel_id Numeric Reference for VirtualCMS
channel id

Article Sections Association

Table name: import_articles_sections_associations

1 external_id_article* Numeric Source reference id of
the article ( ref. to
articles)
2 external_id_section* Numeric Source reference id of
the section ( ref. to
sections )
3 publication_date Yyyy-MM-dd
hh:mm:ss
Publication date

Panel users

Table name: import_panel_users

1 id Numeric Source reference id
2 username* Plain text Username
3 email Plain text Email
4 password* Plain text Password
5 first_name Plain text First name
6 last_name Plain text Last name
7 biography HTML Biography

Web users

Table name: import_web_users

1 id Numeric Source reference id of the
Web User
2 username Plain text Username of the web user
3 email* Plain text Email of the web user
4 password* Plain text MD5 password of the web
user
5 first_name Plain text First Name of the web user
6 last_name Plain text Last Name of the web user
7 creation_date yyyy-mm-dd hh:mm:ss Creation Date of the web
user
8 last_modified yyyy-mm-dd hh:mm:ss Last Modified of the web
user
9 tax_code Plain text Tax Code of the web user
10 vat_number Plain text #VAT of the web user
11 telephone Plain text Telephone of the web user
12 fax Plain text Fax number of the web user
13 cellphone Plain text Cellphone of the web user
14 nation Plain text Nation of the web user
15 region Plain text Region of the web user
16 city Plain text City of the web user
17 address Plain text Address of the web user
18 zip_code Numeric Zip Code of the web user
19 province Plain text Province of the web user
20 marital_status Plain text Marital Status of the web
user
21 family_comp Plain text Family Components of the
web user
22 educational_qualification Plain text Educational Qualification of
the web user
23 job Plain text Job of the web user
24 job area Plain text Job Area of the web user
25 society Plain text Society of the web user
26 monthly_incoming Plain text Monthly Incoming of the
web user
27 privacy Boolean Agreement for Privacy
Policy:
- 0 = false
- 1 = true
28 newsletter Boolean Agreement for Newsletter
Subscription :
- 0 = false
- 1 = true
29 enabled Boolean User Status:
- 0 = disabled
- 1 = enabled
30 visits Numeric Total amount of login
executed
31 last_visit yyyy-mm-dd hh:mm:ss Last visit date
32 birth_date yyyy-mm- dd Birth date of the web user
33 gender Plain text Gender of of the web user
- M = male
- F = female
34 photo Plain text Relative path of the web
user
35 signature Plain text Signature of the web user
36 biography Plain text Biography of the web user

* Mandatory fields


Virtualcom Interactive \ VirtualCMS Team - supportocms@virtualcom.it