diff --git a/Documentation.html b/Documentation.html
index 38a42333d..6933b03a4 100644
--- a/Documentation.html
+++ b/Documentation.html
@@ -139,6 +139,10 @@ vim: expandtab ts=4 sw=4 sts=4 tw=78
(see FAQ 1.17)
Please have a look at our
@@ -4349,6 +4354,19 @@ LogFormat "%h %l %u %t \"%r\" %>s %b \
attempts.
+ You can now synchronize databases/tables in phpMyAdmin using the Synchronize feature.
+It allows you to connect to local as well as remote servers.This requires you to enter
+server host name, username, password, port and the name of the database. Therefore you can
+now synchronize your databases placed on the same server or some remote server.
+
+
+
+
+
‘Synchronize’
+feature in ![]()
+
+This feature is helpful for developers who need to replicate their databases’ structure as well as data.
+Moreover, this feature not only helps replication but also facilitates the user to keep his/her database in sync with another database. Other than the full database, certain tables of the databases can also be synchronized.
+
+
How to Synchronize:
+The synchronize tab is visible upfront in the right pane, the last link on the top of the home page.
+
+
![]()
+
+
Press on the Synchronize tab and a form will be displayed.
+
+
![]()
+
Db Authentication Form?
+
You need to fill in the host name of the server, the
+username and password of an user account already there in MySQL. Port is by default populated with 3306 (MySQL default port). Then the name of the
+database should be mentioned at the end.All the information other than the port needs to be filled explicitly for the source as well as target servers.
+
+
A filled form is displayed underneath:
+
+
+
Invalid entries
+ during DB Authentication:
+
The user will not be allowed to by pass this page if any of
+the values like Host name, Username and Database name remain unfilled and the
+user presses ‘Go’ button. An alert would occur as follows, not allowing the user to
+move to the next page. On the other hand, the password field can remain empty.
+
+
+
![]()
+
+
If any wrong information is provided by the user like wrong
+password, username or hostname then the connection is not established with the
+corresponding database and an error message is seen as follows.
+
+
![]()
+
+
If the user enters a database name that does not exist, then
+even an error message occurs as follows and the user needs to re-enter all the
+information.
+
+
![]()
+
+
+
+
After passing DB Authentication:
+
+
After successfully by passing authentication phase, the source and
+target database table names will be displayed. It will be a tabular
+representation like this.
+
+
![]()
+
+
Left Column:”Source Database”
+
+
On the left, are listed the source database table names.
+Some of the names have a ‘+’ plus sign preceding them. This shows that these
+tables are only present in source database and they need to be added to the
+target database in order to synchronize the target database.While those table name that are not preceded by a ‘+’ sign
+are also present in target database.
+
+
Middle Column:”Difference”
+The column in the middle shows the difference between the source and target corresponding tables.The difference is depicted by the red and green buttons.
+
+
The
+presence of this button against any source table name shows that there is a
+structure difference between the corresponding source and the target tables. If
+at the same time, the source table name is preceded by a ‘+’plus, then the
+presence of this button shows that the table needs to be created in target
+database.
+
+
The
+presence of this button against any source table name shows that there is a
+data difference between the corresponding source and target table. If at the
+same time, the source table name is preceded by a ‘+’plus, then the presence of
+this button shows that the table needs to be created and populated in target
+database.
+
+
+
+
After
+clicking the red button with S printed on, it turns to grey showing that the structure difference
+of that particular table has been selected by the user.
+
+
After
+clicking the red button with a D printed on, it turns to grey showing that the data difference of
+that particular table has been selected by the user.
+
+
Right Column: “Target Database”
+
+
On the right, are listed the target database table names.
+There are few table names that have “(not present)” appended after their names.
+This means that these tables are to be created in target database in order to
+synchronize target database with source database. Some tables’ names have a ‘-’
+minus sign preceding them. This shows that these tables are only present in
+target database and they will remain unchanged in the target database.
+
+
While those table names that are not preceded by any sign,
+or do not have “(not present)” appended after them are already synchronized.
+
+
![]()
+
+
Detailed Difference Table:
+
+
The above view shows that for those tables whose structure
+or data differences have been selected (depicted by grey buttons
or
+
),
+there exists a description in the second table underneath the table showing
+source and target database table names. The description becomes visible only
+when a red or green button against any table is pressed.
+
+
Table:
+
+
Displays the Table Name column only to show the name
+of the table.
+
+
Structure Difference:
+
+
It elaborates the difference in structure like
+
+
Create Table: When the table needs to be created in
+the target database, then only a
tick is
+seen in the create table column of the description table.
+
+
Add Column(s): Shows the number of columns to be
+added.
+
+
Remove Column(s): Shows the number of columns to be
+removed.
+
+
Alter Column(s): Shows the number of columns to be
+altered.
+
+
Apply Index(s): Shows the number of indexes to be
+applied.
+
+
Remove Index(s): Shows the number of indexes to be
+removed.
+
+
Data Difference:
+
+
It elaborates the difference in data like
+
+
Update Row(s): Shows the number of rows to be
+updated.
+
+
Insert Row(s): Shows the number of rows to be
+inserted.
+
+
When the selected buttons (depicted by grey buttons
or
)
+are pressed again, the buttons become deselected (depicted by colored buttons
or
) and the
+description from the second table regarding those table has been removed.
+
+
![]()
+
+
Check Box in Footer:
+
+
A checkbox is also visible in the above view. It has a “Would
+you like to delete all the previous rows from the target tables?”
+
+
By checking this check box, the user assures the deletion of
+any previous rows residing in the target tables that are to be synchronized.
+This means that before any value gets inserted or updated in the target tables,
+any previously residing rows will be deleted.
+
+
Apply Selected Changes Button in Footer:
+
+
The “Apply Selected Changes” button, as it is clear from the
+name, applies only selected tables’ changes i.e. it allows user to synchronize
+selective tables between the source and the target databases.
+
+
After pressing “Apply Selected Changes” button, the view
+becomes
+
+
![]()
+
+
The ”course” table in the above view, now only shows data
+difference depicted by
. This
+shows that the previously selected structure difference in that table has been
+applied in target database table “course” because we pressed the “Apply
+Selected Changes” button after selection.
+
+
“Apply Selected Changes” button allows the user to synchronize
+tables’ data and structure according to his/her requirement or desire.
+
+
Whenever “Apply Selected Changes” button is pressed and the
+page is reloaded, the checkbox becomes unchecked. This means that the user gets
+a choice to delete the previous rows of a certain set of tables and not from
+all the tables.
+
+
Synchronize databases button in Footer:
+
+
“Synchronize databases” button in the footer completely
+synchronizes the target database with the source database irrespective of which
+tables are selected for which type of synchronization.
+
+
“Synchronize databases” button if pressed after “Apply
+Selected Changes” button has been pressed once or twice or several times, will
+apply all the remaining changes that have not been selected earlier.
+
+
The view after “Synchronize databases” button has been
+pressed look like this:
+
+
![]()
+
+
The lower half of the page displays the list of queries that
+have been executed in order to synchronize the databases while the upper half
+displays the source and target database table names.
+
+
+
+
+
+
diff --git a/documentation-gsoc/Synchronization_User Manual_files/image001.jpg b/documentation-gsoc/Synchronization_User Manual_files/image001.jpg
new file mode 100644
index 000000000..dae4d35d5
Binary files /dev/null and b/documentation-gsoc/Synchronization_User Manual_files/image001.jpg differ
diff --git a/documentation-gsoc/Synchronization_User Manual_files/image002.gif b/documentation-gsoc/Synchronization_User Manual_files/image002.gif
new file mode 100644
index 000000000..4141cae53
Binary files /dev/null and b/documentation-gsoc/Synchronization_User Manual_files/image002.gif differ
diff --git a/documentation-gsoc/Synchronization_User Manual_files/image003.gif b/documentation-gsoc/Synchronization_User Manual_files/image003.gif
new file mode 100644
index 000000000..b97cd4830
Binary files /dev/null and b/documentation-gsoc/Synchronization_User Manual_files/image003.gif differ
diff --git a/documentation-gsoc/Synchronization_User Manual_files/image004.jpg b/documentation-gsoc/Synchronization_User Manual_files/image004.jpg
new file mode 100644
index 000000000..31c30967a
Binary files /dev/null and b/documentation-gsoc/Synchronization_User Manual_files/image004.jpg differ
diff --git a/documentation-gsoc/Synchronization_User Manual_files/image005.jpg b/documentation-gsoc/Synchronization_User Manual_files/image005.jpg
new file mode 100644
index 000000000..157d36638
Binary files /dev/null and b/documentation-gsoc/Synchronization_User Manual_files/image005.jpg differ
diff --git a/documentation-gsoc/Synchronization_User Manual_files/image006.jpg b/documentation-gsoc/Synchronization_User Manual_files/image006.jpg
new file mode 100644
index 000000000..e6732bdf9
Binary files /dev/null and b/documentation-gsoc/Synchronization_User Manual_files/image006.jpg differ
diff --git a/documentation-gsoc/Synchronization_User Manual_files/image007.jpg b/documentation-gsoc/Synchronization_User Manual_files/image007.jpg
new file mode 100644
index 000000000..1909fc7d6
Binary files /dev/null and b/documentation-gsoc/Synchronization_User Manual_files/image007.jpg differ
diff --git a/documentation-gsoc/Synchronization_User Manual_files/image008.jpg b/documentation-gsoc/Synchronization_User Manual_files/image008.jpg
new file mode 100644
index 000000000..8396ba71e
Binary files /dev/null and b/documentation-gsoc/Synchronization_User Manual_files/image008.jpg differ
diff --git a/documentation-gsoc/Synchronization_User Manual_files/image009.jpg b/documentation-gsoc/Synchronization_User Manual_files/image009.jpg
new file mode 100644
index 000000000..e35adb7bb
Binary files /dev/null and b/documentation-gsoc/Synchronization_User Manual_files/image009.jpg differ
diff --git a/documentation-gsoc/Synchronization_User Manual_files/image010.gif b/documentation-gsoc/Synchronization_User Manual_files/image010.gif
new file mode 100644
index 000000000..e38bb7665
Binary files /dev/null and b/documentation-gsoc/Synchronization_User Manual_files/image010.gif differ
diff --git a/documentation-gsoc/Synchronization_User Manual_files/image011.jpg b/documentation-gsoc/Synchronization_User Manual_files/image011.jpg
new file mode 100644
index 000000000..08d30d34a
Binary files /dev/null and b/documentation-gsoc/Synchronization_User Manual_files/image011.jpg differ
diff --git a/documentation-gsoc/Synchronization_User Manual_files/image012.jpg b/documentation-gsoc/Synchronization_User Manual_files/image012.jpg
new file mode 100644
index 000000000..16b2b8cb3
Binary files /dev/null and b/documentation-gsoc/Synchronization_User Manual_files/image012.jpg differ
diff --git a/documentation-gsoc/Synchronization_User Manual_files/image013.jpg b/documentation-gsoc/Synchronization_User Manual_files/image013.jpg
new file mode 100644
index 000000000..caabf6767
Binary files /dev/null and b/documentation-gsoc/Synchronization_User Manual_files/image013.jpg differ
diff --git a/documentation-gsoc/Synchronization_User Manual_files/image014.jpg b/documentation-gsoc/Synchronization_User Manual_files/image014.jpg
new file mode 100644
index 000000000..140789960
Binary files /dev/null and b/documentation-gsoc/Synchronization_User Manual_files/image014.jpg differ
diff --git a/documentation-gsoc/Synchronization_User Manual_files/image015.jpg b/documentation-gsoc/Synchronization_User Manual_files/image015.jpg
new file mode 100644
index 000000000..83c867be8
Binary files /dev/null and b/documentation-gsoc/Synchronization_User Manual_files/image015.jpg differ
diff --git a/documentation-gsoc/Synchronization_User Manual_files/image016.jpg b/documentation-gsoc/Synchronization_User Manual_files/image016.jpg
new file mode 100644
index 000000000..0f3ca75ce
Binary files /dev/null and b/documentation-gsoc/Synchronization_User Manual_files/image016.jpg differ
diff --git a/documentation-gsoc/Synchronization_User Manual_files/image017.gif b/documentation-gsoc/Synchronization_User Manual_files/image017.gif
new file mode 100644
index 000000000..86629d3e8
Binary files /dev/null and b/documentation-gsoc/Synchronization_User Manual_files/image017.gif differ
diff --git a/documentation-gsoc/Synchronization_User Manual_files/image018.jpg b/documentation-gsoc/Synchronization_User Manual_files/image018.jpg
new file mode 100644
index 000000000..b21a2727d
Binary files /dev/null and b/documentation-gsoc/Synchronization_User Manual_files/image018.jpg differ
diff --git a/documentation-gsoc/Synchronization_User Manual_files/image019.jpg b/documentation-gsoc/Synchronization_User Manual_files/image019.jpg
new file mode 100644
index 000000000..2cb174651
Binary files /dev/null and b/documentation-gsoc/Synchronization_User Manual_files/image019.jpg differ
diff --git a/documentation-gsoc/Synchronization_User Manual_files/image020.jpg b/documentation-gsoc/Synchronization_User Manual_files/image020.jpg
new file mode 100644
index 000000000..28def4846
Binary files /dev/null and b/documentation-gsoc/Synchronization_User Manual_files/image020.jpg differ
diff --git a/documentation-gsoc/Synchronization_User Manual_files/image021.jpg b/documentation-gsoc/Synchronization_User Manual_files/image021.jpg
new file mode 100644
index 000000000..0a3a818fd
Binary files /dev/null and b/documentation-gsoc/Synchronization_User Manual_files/image021.jpg differ
diff --git a/documentation-gsoc/Synchronization_User Manual_files/image022.jpg b/documentation-gsoc/Synchronization_User Manual_files/image022.jpg
new file mode 100644
index 000000000..d47a7411d
Binary files /dev/null and b/documentation-gsoc/Synchronization_User Manual_files/image022.jpg differ
diff --git a/documentation-gsoc/Synchronization_User Manual_files/image023.jpg b/documentation-gsoc/Synchronization_User Manual_files/image023.jpg
new file mode 100644
index 000000000..ccd8e6005
Binary files /dev/null and b/documentation-gsoc/Synchronization_User Manual_files/image023.jpg differ
diff --git a/themes/darkblue_orange/img/s_sync.png b/themes/darkblue_orange/img/s_sync.png
new file mode 100644
index 000000000..61e6b838e
Binary files /dev/null and b/themes/darkblue_orange/img/s_sync.png differ