simias-svn Mailing List for simias (Page 10)
Brought to you by:
srinidhi_bs
You can subscribe to this list here.
| 2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(6) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2010 |
Jan
|
Feb
(16) |
Mar
(9) |
Apr
(20) |
May
(24) |
Jun
(30) |
Jul
(29) |
Aug
(47) |
Sep
(11) |
Oct
(5) |
Nov
(3) |
Dec
(1) |
| 2011 |
Jan
(5) |
Feb
(2) |
Mar
(6) |
Apr
(15) |
May
(3) |
Jun
(2) |
Jul
(2) |
Aug
(5) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
| 2012 |
Jan
|
Feb
|
Mar
(1) |
Apr
(5) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
| 2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(6) |
Sep
(20) |
Oct
(5) |
Nov
|
Dec
|
| 2014 |
Jan
|
Feb
(3) |
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2016 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(4) |
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2017 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <js...@us...> - 2010-05-25 11:32:17
|
Revision: 7373
http://simias.svn.sourceforge.net/simias/?rev=7373&view=rev
Author: jshaju
Date: 2010-05-25 11:32:09 +0000 (Tue, 25 May 2010)
Log Message:
-----------
ID: bug#526193
Reviewer: ravi
Localization Required: Yes
Documentation Required: No
Description: Updated the help files to modify the path of the help image
Modified Paths:
--------------
trunk/src/admin/help/en/adddatapath.html
trunk/src/admin/help/en/createifolder.html
trunk/src/admin/help/en/ifolderdetails.html
trunk/src/admin/help/en/ifolders.html
trunk/src/admin/help/en/imgr_legalnotices.html
trunk/src/admin/help/en/index.html
trunk/src/admin/help/en/ldapsettings.html
trunk/src/admin/help/en/legalnotices.html
trunk/src/admin/help/en/login.html
trunk/src/admin/help/en/member.html
trunk/src/admin/help/en/provisionusers.html
trunk/src/admin/help/en/reports.html
trunk/src/admin/help/en/serverdetails.html
trunk/src/admin/help/en/servers.html
trunk/src/admin/help/en/systeminfo.html
trunk/src/admin/help/en/userdetails.html
trunk/src/admin/help/en/usermove.html
trunk/src/admin/help/en/usermove_details.html
trunk/src/admin/help/en/users.html
trunk/src/admin/help/en/webacc.html
Modified: trunk/src/admin/help/en/adddatapath.html
===================================================================
--- trunk/src/admin/help/en/adddatapath.html 2010-05-25 06:07:57 UTC (rev 7372)
+++ trunk/src/admin/help/en/adddatapath.html 2010-05-25 11:32:09 UTC (rev 7373)
@@ -27,33 +27,29 @@
<style type= "text/css" media="screen">
<!--
- body { font-family: Arial, Helvetica, Geneva;
- background: white
+ body { font-family: Arial, Helvetica, Geneva; background: white
url(../../images/helphead_bg.gif) repeat-x 0% 0% }
- #headgraphic { position: absolute; z-index: 0; top: 0px; left: 0px;
- width: 380px; visibility: visible }
+ #headgraphic { position: absolute; z-index: 0; top: 0px; left: 0px; width: 100%; visibility: visible }
- #helpcontent { position: absolute; top: 37px; left: 10px;
- width: 93%; visibility: visible }
-
+ #helpcontent { position: absolute; top: 37px; left: 10px; width: 93%; visibility: visible }
+
-->
- </style>
+ </style>
-</head>
-
- <!-- This is the start of the body. It underlays the help banner layer
- and help content layers. -->
-
- <body bgcolor="white" marginwidth="0" marginheight="0"
- leftmargin="0" topmargin="0">
+</head>
+<!-- This is the start of the body. It underlays the help banner layer
+ and help content layers. -->
+<body bgcolor="white" marginwidth="0" marginheight="0" leftmargin="0" topmargin="0">
<!-- This is the start of the Help Banner Layer --> <div id="headgraphic">
-<img src="../../images/h1_help.gif" width="380" height="32" border="0"></div><!-- This is end of the Help Banner Layer -->
-<!-- This is the start of the Help Content Layer -->
-<div id="helpcontent"> <!-- The Page Heading uses CSS style "head3b". This creates an H3 header
+<table border="0" cellspacing="0" cellpadding="0" width="100%" height="26" style="margin:0px; padding:0px; background-image: url(../../images/header_pattern.gif); background-repeat: repeat-x;">
+<tr> <td width="221"><img src="help_title.gif" alt="Novell iFolder" border="0" width="221" height="26"></td><td align="right" width="100%" class="tabCell" style="background-image: url(../../images/header_background.gif); background-repeat: no-repeat;">
+</td></tr> </table></div><!-- This is end of the Help Banner Layer -->
+<!-- This is the start of the Help Content Layer --> <div id="helpcontent" style="left: 10px; top: 38px">
+<!-- The Page Heading uses CSS style "head3b". This creates an H3 header
with a line beneath it.
-->
<h3><a name="manage"></a>Add Data Store</h3>
Modified: trunk/src/admin/help/en/createifolder.html
===================================================================
--- trunk/src/admin/help/en/createifolder.html 2010-05-25 06:07:57 UTC (rev 7372)
+++ trunk/src/admin/help/en/createifolder.html 2010-05-25 11:32:09 UTC (rev 7373)
@@ -27,30 +27,31 @@
<style type= "text/css" media="screen">
<!--
- body { font-family: Arial, Helvetica, Geneva;
- background: white
+ body { font-family: Arial, Helvetica, Geneva; background: white
url(../../images/helphead_bg.gif) repeat-x 0% 0% }
- #headgraphic { position: absolute; z-index: 0; top: 0px; left: 0px;
- width: 380px; visibility: visible }
+ #headgraphic { position: absolute; z-index: 0; top: 0px; left: 0px; width: 100%; visibility: visible }
- #helpcontent { position: absolute; top: 37px; left: 10px;
- width: 93%; visibility: visible }
-
+ #helpcontent { position: absolute; top: 37px; left: 10px; width: 93%; visibility: visible }
+
-->
</style>
-</head>
-
- <!-- This is the start of the body. It underlays the help banner layer
- and help content layers. -->
-
- <body bgcolor="white" marginwidth="0" marginheight="0"
- leftmargin="0" topmargin="0">
-<!-- This is the start of the Help Banner Layer --> <div id="headgraphic"> <img src="../../images/h1_help.gif" width="380" height="32" border="0"></div><!-- This is end of the Help Banner Layer -->
+</head>
+<!-- This is the start of the body. It underlays the help banner layer
+ and help content layers. -->
+<body bgcolor="white" marginwidth="0" marginheight="0" leftmargin="0" topmargin="0">
+<!-- This is the start of the Help Banner Layer --> <div id="headgraphic">
+<table border="0" cellspacing="0" cellpadding="0" width="100%" height="26" style="margin:0px; padding:0px; background-image: url(../../images/header_pattern.gif); background-repeat: repeat-x;">
+<tr> <td width="221"><img src="help_title.gif" alt="Novell iFolder" border="0" width="221" height="26"></td><td align="right" width="100%" class="tabCell" style="background-image: url(../../images/header_background.gif); background-repeat: no-repeat;">
+</td></tr> </table></div><!-- This is end of the Help Banner Layer -->
+<!-- This is the start of the Help Content Layer --> <div id="helpcontent" style="left: 10px; top: 38px">
+<!-- The Page Heading uses CSS style "head3b". This creates an H3 header
+ with a line beneath it.
+ -->
<!-- This is the start of the Help Content Layer -->
<div id="helpcontent">
Modified: trunk/src/admin/help/en/ifolderdetails.html
===================================================================
--- trunk/src/admin/help/en/ifolderdetails.html 2010-05-25 06:07:57 UTC (rev 7372)
+++ trunk/src/admin/help/en/ifolderdetails.html 2010-05-25 11:32:09 UTC (rev 7373)
@@ -28,30 +28,29 @@
<style type= "text/css" media="screen">
<!--
- body { font-family: Arial, Helvetica, Geneva;
- background: white url('../../images/helphead_bg.gif') repeat-x; }
+ body { font-family: Arial, Helvetica, Geneva; background: white
+url(../../images/helphead_bg.gif) repeat-x 0% 0% }
- #headgraphic { position: absolute; z-index: 0; top: 0px; left: 0px;
- width: 380px; visibility: visible }
+ #headgraphic { position: absolute; z-index: 0; top: 0px; left: 0px; width: 100%; visibility: visible }
- #helpcontent { position: absolute; top: 37px; left: 10px;
- width: 93%; visibility: visible }
-
+ #helpcontent { position: absolute; top: 37px; left: 10px; width: 93%; visibility: visible }
+
-->
</style>
-</head>
-
- <!-- This is the start of the body. It underlays the help banner layer
- and help content layers. -->
-
- <body bgcolor="white" marginwidth="0" marginheight="0"
- leftmargin="0" topmargin="0">
-<!-- This is the start of the Help Banner Layer --> <div id="headgraphic"> <img src="../../images/h1_help.gif" width="380" height="32" border="0"></div><!-- This is end of the Help Banner Layer -->
-<!-- This is the start of the Help Content Layer --> <div id="helpcontent"> <!-- The Page Heading uses CSS style "head3b". This creates an H3 header
+</head>
+<!-- This is the start of the body. It underlays the help banner layer
+ and help content layers. -->
+<body bgcolor="white" marginwidth="0" marginheight="0" leftmargin="0" topmargin="0">
+<!-- This is the start of the Help Banner Layer --> <div id="headgraphic">
+<table border="0" cellspacing="0" cellpadding="0" width="100%" height="26" style="margin:0px; padding:0px; background-image: url(../../images/header_pattern.gif); background-repeat: repeat-x;">
+<tr> <td width="221"><img src="help_title.gif" alt="Novell iFolder" border="0" width="221" height="26"></td><td align="right" width="100%" class="tabCell" style="background-image: url(../../images/header_background.gif); background-repeat: no-repeat;">
+</td></tr> </table></div><!-- This is end of the Help Banner Layer -->
+<!-- This is the start of the Help Content Layer --> <div id="helpcontent" style="left: 10px; top: 38px">
+<!-- The Page Heading uses CSS style "head3b". This creates an H3 header
with a line beneath it.
-->
<h3 class="head3b">Managing iFolder Details</h3>
Modified: trunk/src/admin/help/en/ifolders.html
===================================================================
--- trunk/src/admin/help/en/ifolders.html 2010-05-25 06:07:57 UTC (rev 7372)
+++ trunk/src/admin/help/en/ifolders.html 2010-05-25 11:32:09 UTC (rev 7373)
@@ -27,30 +27,29 @@
<style type= "text/css" media="screen">
<!--
- body { font-family: Arial, Helvetica, Geneva;
- background: white url('../../images/helphead_bg.gif') repeat-x; }
+ body { font-family: Arial, Helvetica, Geneva; background: white
+url(../../images/helphead_bg.gif) repeat-x 0% 0% }
- #headgraphic { position: absolute; z-index: 0; top: 0px; left: 0px;
- width: 380px; visibility: visible }
+ #headgraphic { position: absolute; z-index: 0; top: 0px; left: 0px; width: 100%; visibility: visible }
- #helpcontent { position: absolute; top: 37px; left: 10px;
- width: 93%; visibility: visible }
-
+ #helpcontent { position: absolute; top: 37px; left: 10px; width: 93%; visibility: visible }
+
-->
- </style>
+ </style>
-</head>
-
- <!-- This is the start of the body. It underlays the help banner layer
- and help content layers. -->
-
- <body bgcolor="white" marginwidth="0" marginheight="0"
- leftmargin="0" topmargin="0">
-<!-- This is the start of the Help Banner Layer --> <div id="headgraphic"> <img src="../../images/h1_help.gif" width="380" height="32" border="0"></div><!-- This is end of the Help Banner Layer -->
-<!-- This is the start of the Help Content Layer --> <div id="helpcontent"> <!-- The Page Heading uses CSS style "head3b". This creates an H3 header
+</head>
+<!-- This is the start of the body. It underlays the help banner layer
+ and help content layers. -->
+<body bgcolor="white" marginwidth="0" marginheight="0" leftmargin="0" topmargin="0">
+<!-- This is the start of the Help Banner Layer --> <div id="headgraphic">
+<table border="0" cellspacing="0" cellpadding="0" width="100%" height="26" style="margin:0px; padding:0px; background-image: url(../../images/header_pattern.gif); background-repeat: repeat-x;">
+<tr> <td width="221"><img src="help_title.gif" alt="Novell iFolder" border="0" width="221" height="26"></td><td align="right" width="100%" class="tabCell" style="background-image: url(../../images/header_background.gif); background-repeat: no-repeat;">
+</td></tr> </table></div><!-- This is end of the Help Banner Layer -->
+<!-- This is the start of the Help Content Layer --> <div id="helpcontent" style="left: 10px; top: 38px">
+<!-- The Page Heading uses CSS style "head3b". This creates an H3 header
with a line beneath it.
-->
<h3 class="head3b">Managing iFolders</h3>
@@ -161,7 +160,7 @@
<BLOCKQUOTE class="task1"><P><A HREF="ifolderdetails.html">Managing iFolder Details
</A><BR><A HREF="userdetails.html">User Details
-</A><BR><A HREF="users.html">Managing a User Account</A></P></BLOCKQUOTE><P><A HREF="#top" TARGET="_self"><IMG SRC="../../images/goto_top.gif" WIDTH="19" HEIGHT="19" BORDER="0" ALT="Go to top"></A></P><P> </P><P CLASS="copyright">A
+</A><BR><A HREF="users.html">Managing a User Account</A><BR><A HREF="systeminfo.html">Managing the iFolder System</A><BR><A HREF="servers.html">Managing iFolder Servers</A><BR><A HREF="reports.html">Reports</A></P></BLOCKQUOTE><P><A HREF="#top" TARGET="_self"><IMG SRC="../../images/goto_top.gif" WIDTH="19" HEIGHT="19" BORDER="0" ALT="Go to top"></A></P><P> </P><P CLASS="copyright">A
trademark symbol (<SUP><SMALL>®</SMALL></SUP>, <SUP><SMALL>TM</SMALL></SUP>,
etc.) denotes a Novell trademark. An asterisk (*) denotes a third-party trademark.
For more information, see <A HREF="imgr_legalnotices.html" TARGET="_self" ><font color="#cfcdc6">Legal
Modified: trunk/src/admin/help/en/imgr_legalnotices.html
===================================================================
--- trunk/src/admin/help/en/imgr_legalnotices.html 2010-05-25 06:07:57 UTC (rev 7372)
+++ trunk/src/admin/help/en/imgr_legalnotices.html 2010-05-25 11:32:09 UTC (rev 7373)
@@ -26,32 +26,31 @@
<style type= "text/css" media="screen">
<!--
- body { font-family: Arial, Helvetica, Geneva;
- background: white url('../../images/helphead_bg.gif') repeat-x; }
+ body { font-family: Arial, Helvetica, Geneva; background: white
+url(../../images/helphead_bg.gif) repeat-x 0% 0% }
- #headgraphic { position: absolute; z-index: 0; top: 0px; left: 0px;
- width: 100%; visibility: visible }
+ #headgraphic { position: absolute; z-index: 0; top: 0px; left: 0px; width: 100%; visibility: visible }
- #helpcontent { position: absolute; top: 37px; left: 10px;
- width: 93%; visibility: visible }
-
+ #helpcontent { position: absolute; top: 37px; left: 10px; width: 93%; visibility: visible }
+
-->
- </style>
+ </style>
-</head>
-
- <!-- This is the start of the body. It underlays the help banner layer
- and help content layers. -->
-
- <body bgcolor="white" marginwidth="0" marginheight="0"
- leftmargin="0" topmargin="0">
-<!-- This is the start of the Help Banner Layer --> <div id="headgraphic"> <img src="../../images/h1_help.gif" width="380" height="32" border="0"></div><!-- This is end of the Help Banner Layer -->
-<!-- This is end of the Help Banner Layer --> <!-- This is the start of the Help Content Layer -->
-<div id="helpcontent"> <!-- The Page Heading uses CSS style "head3b". This creates an H3 header
- with a line beneath it.
---> <h3 class="head3b">Legal Notices</h3>
+</head>
+<!-- This is the start of the body. It underlays the help banner layer
+ and help content layers. -->
+<body bgcolor="white" marginwidth="0" marginheight="0" leftmargin="0" topmargin="0">
+<!-- This is the start of the Help Banner Layer --> <div id="headgraphic">
+<table border="0" cellspacing="0" cellpadding="0" width="100%" height="26" style="margin:0px; padding:0px; background-image: url(../../images/header_pattern.gif); background-repeat: repeat-x;">
+<tr> <td width="221"><img src="help_title.gif" alt="Novell iFolder" border="0" width="221" height="26"></td><td align="right" width="100%" class="tabCell" style="background-image: url(../../images/header_background.gif); background-repeat: no-repeat;">
+</td></tr> </table></div><!-- This is end of the Help Banner Layer -->
+<!-- This is the start of the Help Content Layer --> <div id="helpcontent" style="left: 10px; top: 38px">
+<!-- The Page Heading uses CSS style "head3b". This creates an H3 header
+ with a line beneath it.
+ -->
+<h3 class="head3b">Legal Notices</h3>
<p>Novell, Inc., makes no representations
or warranties with respect to the contents or use of this documentation, and specifically
disclaims any express or implied warranties of merchantability or fitness for
@@ -77,14 +76,10 @@
Novell software. Novell assumes no responsibility for your failure to obtain
any necessary export approvals.</p>
<h3>Copyright</h3>
- <p>Copyright © 2005-2007 Novell, Inc. All rights reserved. No part of this
+ <p>Copyright © 2010 Novell, Inc. All rights reserved. No part of this
publication may be reproduced, photocopied, stored on a retrieval system,
or transmitted without the express written consent of the publisher.</p>
- <h3>Novell Trademarks</h3><p>For Novell trademarks, see <a href=http://www.novell.com/company/legal/ trademarks/tmlist.html>the Novell Trademark and Service Mark list</a> </p><h3>Third-Party Trademarks</h3><p>All third-party trademarks are
-the property of their respective owners.</p><h3>Documentation Conventions</h3><p>This
-documentation uses a greater-than symbol (>) to separate actions within a step
-and items in a cross-reference path.</p><p>A trademark symbol (<sup><small>®</small></sup>,
-<sup><small>TM</small></sup>, etc.) denotes a Novell trademark. An asterisk (*)
-denotes a third-party trademark.</p></div>
+ <h3> </h3>
+</div>
</body>
</html>
\ No newline at end of file
Modified: trunk/src/admin/help/en/index.html
===================================================================
--- trunk/src/admin/help/en/index.html 2010-05-25 06:07:57 UTC (rev 7372)
+++ trunk/src/admin/help/en/index.html 2010-05-25 11:32:09 UTC (rev 7373)
@@ -1,99 +1,104 @@
-<html>
-<head>
- <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
-
-<!-- Novell iFolder 3.x Web Access -->
-
-<title>Accessing Folders and Files</title>
-
-<!-- Metadata -->
- <meta name="Author" content="iFolder 3.x Documentation Manager">
- <meta name="date" content="02-17-2005">
- <meta name="modified" content="06-29-2005">
-<!-- Documentation Stylesheet -->
- <link rel="stylesheet" href="hf_style.css" type="text/css">
-<!-- Style definitions for this Help page: body plus help banner layer
- and help content layer. The style definition is commented to prevent
- older browsers from presenting the style information as part of the
- page itself.
- -->
-
- <style type= "text/css" media="screen">
- <!--
-
- body { font-family: Arial, Helvetica, Geneva; background: white
-url(../../images/helphead_bg.gif) repeat-x 0% 0% }
-
- #headgraphic { position: absolute; z-index: 0; top: 0px; left: 0px; width: 100%; visibility: visible }
-
- #helpcontent { position: absolute; top: 37px; left: 10px; width: 93%; visibility: visible }
-
- -->
- </style>
-</head>
-<!-- This is the start of the body. It underlays the help banner layer
- and help content layers. -->
-<body bgcolor="white" marginwidth="0" marginheight="0" leftmargin="0" topmargin="0">
-<!-- This is the start of the Help Banner Layer --> <div id="headgraphic">
-<table border="0" cellspacing="0" cellpadding="0" width="100%" height="26" style="margin:0px; padding:0px; background-image: url(../../images/header_pattern.gif); background-repeat: repeat-x;">
-<tr> <td width="221"><img src="../../images/help_title.gif" alt="Novell iFolder" border="0" width="221" height="26"></td><td align="right" width="100%" class="tabCell" style="background-image: url(../../images/header_background.gif); background-repeat: no-repeat;">
-</td></tr> </table></div><!-- This is end of the Help Banner Layer -->
-<!-- This is the start of the Help Content Layer --> <div id="helpcontent" style="left: 10px; top: 38px">
-<!-- The Page Heading uses CSS style "head3b". This creates an H3 header
- with a line beneath it.
- --> <h3 class="head3b"><a name="top"></a>Accessing Folders and
-Files in Your iFolders</h3><p> Use this interface to access folders
-and files in the iFolders available to you in this account. For each
-iFolder, you can view a list of its folders and files, upload and download
-files, create folders, and delete folders and files. To create, delete,
-or share iFolders, you must use the iFolder Client for your Linux*,
-Windows*, or Macintosh* computer. </p><p>This help discusses the following:</p><blockquote >
-<p><a href="#login" target="_self">Logging In and Logging Out</a> <br>
-<a href="#browse" target="_self">Browsing iFolders</a> <br> <a href="#manage" target="_self">Managing
-Folders and Files in an iFolder</a></p></blockquote><h3><a name="login"></a>Logging
-In and Logging Out</h3><p>If the system connection times out when you
-are working in your iFolders, Web access returns you to the login page.
-You can log in again to resume working without closing your browser.</p><p>Log
-out by clicking Logout in the upper right header area, then close your
-browser. If you do not log out, your session remains open until your
-session times out, which can be a security risk. </p><p><a href="#top" target="_self"><img src="../../images/goto_top.gif" width="19" height="19" border="0" alt="Go to top"></a></p><h3><a name="browse"></a>Browsing
-iFolders</h3><p>The iFolders page lists all iFolders available to you
-in the current account. Available iFolders include those you own and
-those others have shared with you. You can access shared iFolders through
-Web access even if you have not set up the iFolder on a local computer.
-The Owner column identifies the name of the person who owns the iFolder
-to help you locate the iFolder you seek. </p><p>Click the iFolder's
-name to view a list of its folders and files, upload and download files,
-create folders, and delete folders and files.</p><p><a href="#top" target="_self"><img src="../../images/goto_top.gif" width="19" height="19" border="0" alt="Go to top"></a></p><h3><a name="manage"></a>Managing
-Folders and Files in an iFolder</h3><p>Within an iFolder, you can perform
-the following tasks:</p><blockquote> <p><b>View a List of Folders and
-Files</b><br>The iFolder page lists folders and files alphabetically.
-Scroll to locate the directory or file of interest. </p><p><b>Navigate
-a Directory</b><br>Click name of the folder <img src="../../images/folder_16.gif" width="16" height="16" alt="Folder icon">
-to open the folder and view a list of its contents. To return to a
-higher level directory, click the Up folder <img src="../../images/up_folder_16.gif" width="14" height="12" alt="Up folder icon">
-icon in the task bar.<br> </p><p><b>Open or Save a File</b><br>Click
-the name of the file <img src="../../images/file_16.gif" width="16" height="16" alt="File icon">
-you want to open or save. </p><ul> <li><p>Click Open to view the file's
-contents. You must have a compatible application on your computer to
-open the file. If you plan to work in the file, download the file,
-modify the file, and then upload it.</p></li><li><p>Click Save to save
-the file on your local hard drive or to a mapped network drive. Navigate
-to the location where you want to place the file, then click Save.
-The file is downloaded to your computer.</p></li></ul><p><b>Create
-a New Folder</b> <br> In the New Folder field, specify the name of
-the new folder, then click Create. Folder names are case sensitive.
-When the page refreshes, the folder appears alphabetically in the list.<br></p><p><b>Delete
-Folders or Files</b><br>Select the check box next to one or more folders
-or files you want to delete, then click Delete. Confirm the deletion.</p><p><b>Upload
-a File</b> <br> In the Upload File field, click Browse, locate a local
-folder you want to upload, then click Open > Upload. When the page
-refreshes, the file appears alphabetically in the list.</p></blockquote><p>
-<a href="#top" target="_self"><img src="../../images/goto_top.gif" width="19" height="19" border="0" alt="Go to top"></a>
-</p><p> </p><P CLASS="copyright">A trademark symbol (<SUP><SMALL>®</SMALL></SUP>,
-<SUP><SMALL>TM</SMALL></SUP>, etc.) denotes a Novell trademark. An
-asterisk (*) denotes a third-party trademark. For more information,
-see <A HREF="legalnotices.html" TARGET="_self" ><font color="#cfcdc6">Legal
-Notices</font></A>.</P></div><!-- This is the end of the Help Content layer. -->
-</body>
+<html>
+<head>
+ <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
+
+<!-- Novell iFolder 3.x Web Access -->
+
+<title>Accessing Folders and Files</title>
+
+<!-- Metadata -->
+ <meta name="Author" content="iFolder 3.x Documentation Manager">
+ <meta name="date" content="02-17-2005">
+ <meta name="modified" content="06-29-2005">
+<!-- Documentation Stylesheet -->
+ <link rel="stylesheet" href="hf_style.css" type="text/css">
+<!-- Style definitions for this Help page: body plus help banner layer
+ and help content layer. The style definition is commented to prevent
+ older browsers from presenting the style information as part of the
+ page itself.
+ -->
+
+ <style type= "text/css" media="screen">
+ <!--
+
+ body { font-family: Arial, Helvetica, Geneva; background: white
+url(../../images/helphead_bg.gif) repeat-x 0% 0% }
+
+ #headgraphic { position: absolute; z-index: 0; top: 0px; left: 0px; width: 100%; visibility: visible }
+
+ #helpcontent { position: absolute; top: 37px; left: 10px; width: 93%; visibility: visible }
+
+ -->
+ </style>
+
+
+
+
+</head>
+<!-- This is the start of the body. It underlays the help banner layer
+ and help content layers. -->
+<body bgcolor="white" marginwidth="0" marginheight="0" leftmargin="0" topmargin="0">
+<!-- This is the start of the Help Banner Layer --> <div id="headgraphic">
+<table border="0" cellspacing="0" cellpadding="0" width="100%" height="26" style="margin:0px; padding:0px; background-image: url(../../images/header_pattern.gif); background-repeat: repeat-x;">
+<tr> <td width="221"><img src="help_title.gif" alt="Novell iFolder" border="0" width="221" height="26"></td><td align="right" width="100%" class="tabCell" style="background-image: url(../../images/header_background.gif); background-repeat: no-repeat;">
+</td></tr> </table></div><!-- This is end of the Help Banner Layer -->
+<!-- This is the start of the Help Content Layer --> <div id="helpcontent" style="left: 10px; top: 38px">
+<!-- The Page Heading uses CSS style "head3b". This creates an H3 header
+ with a line beneath it.
+ -->
+<h3 class="head3b"><a name="top"></a>Accessing Folders and
+Files in Your iFolders</h3><p> Use this interface to access folders
+and files in the iFolders available to you in this account. For each
+iFolder, you can view a list of its folders and files, upload and download
+files, create folders, and delete folders and files. To create, delete,
+or share iFolders, you must use the iFolder Client for your Linux*,
+Windows*, or Macintosh* computer. </p><p>This help discusses the following:</p><blockquote >
+<p><a href="#login" target="_self">Logging In and Logging Out</a> <br>
+<a href="#browse" target="_self">Browsing iFolders</a> <br> <a href="#manage" target="_self">Managing
+Folders and Files in an iFolder</a></p></blockquote><h3><a name="login"></a>Logging
+In and Logging Out</h3><p>If the system connection times out when you
+are working in your iFolders, Web access returns you to the login page.
+You can log in again to resume working without closing your browser.</p><p>Log
+out by clicking Logout in the upper right header area, then close your
+browser. If you do not log out, your session remains open until your
+session times out, which can be a security risk. </p><p><a href="#top" target="_self"><img src="../../images/goto_top.gif" width="19" height="19" border="0" alt="Go to top"></a></p><h3><a name="browse"></a>Browsing
+iFolders</h3><p>The iFolders page lists all iFolders available to you
+in the current account. Available iFolders include those you own and
+those others have shared with you. You can access shared iFolders through
+Web access even if you have not set up the iFolder on a local computer.
+The Owner column identifies the name of the person who owns the iFolder
+to help you locate the iFolder you seek. </p><p>Click the iFolder's
+name to view a list of its folders and files, upload and download files,
+create folders, and delete folders and files.</p><p><a href="#top" target="_self"><img src="../../images/goto_top.gif" width="19" height="19" border="0" alt="Go to top"></a></p><h3><a name="manage"></a>Managing
+Folders and Files in an iFolder</h3><p>Within an iFolder, you can perform
+the following tasks:</p><blockquote> <p><b>View a List of Folders and
+Files</b><br>The iFolder page lists folders and files alphabetically.
+Scroll to locate the directory or file of interest. </p><p><b>Navigate
+a Directory</b><br>Click name of the folder <img src="../../images/folder_16.gif" width="16" height="16" alt="Folder icon">
+to open the folder and view a list of its contents. To return to a
+higher level directory, click the Up folder <img src="../../images/up_folder_16.gif" width="14" height="12" alt="Up folder icon">
+icon in the task bar.<br> </p><p><b>Open or Save a File</b><br>Click
+the name of the file <img src="../../images/file_16.gif" width="16" height="16" alt="File icon">
+you want to open or save. </p><ul> <li><p>Click Open to view the file's
+contents. You must have a compatible application on your computer to
+open the file. If you plan to work in the file, download the file,
+modify the file, and then upload it.</p></li><li><p>Click Save to save
+the file on your local hard drive or to a mapped network drive. Navigate
+to the location where you want to place the file, then click Save.
+The file is downloaded to your computer.</p></li></ul><p><b>Create
+a New Folder</b> <br> In the New Folder field, specify the name of
+the new folder, then click Create. Folder names are case sensitive.
+When the page refreshes, the folder appears alphabetically in the list.<br></p><p><b>Delete
+Folders or Files</b><br>Select the check box next to one or more folders
+or files you want to delete, then click Delete. Confirm the deletion.</p><p><b>Upload
+a File</b> <br> In the Upload File field, click Browse, locate a local
+folder you want to upload, then click Open > Upload. When the page
+refreshes, the file appears alphabetically in the list.</p></blockquote><p>
+<a href="#top" target="_self"><img src="../../images/goto_top.gif" width="19" height="19" border="0" alt="Go to top"></a>
+</p><p> </p><P CLASS="copyright">A trademark symbol (<SUP><SMALL>®</SMALL></SUP>,
+<SUP><SMALL>TM</SMALL></SUP>, etc.) denotes a Novell trademark. An
+asterisk (*) denotes a third-party trademark. For more information,
+see <A HREF="legalnotices.html" TARGET="_self" ><font color="#cfcdc6">Legal
+Notices</font></A>.</P></div><!-- This is the end of the Help Content layer. -->
+</body>
</html>
\ No newline at end of file
Modified: trunk/src/admin/help/en/ldapsettings.html
===================================================================
--- trunk/src/admin/help/en/ldapsettings.html 2010-05-25 06:07:57 UTC (rev 7372)
+++ trunk/src/admin/help/en/ldapsettings.html 2010-05-25 11:32:09 UTC (rev 7373)
@@ -27,31 +27,31 @@
<style type= "text/css" media="screen">
<!--
- body { font-family: Arial, Helvetica, Geneva;
- background: white url('../../images/helphead_bg.gif') repeat-x; }
+ body { font-family: Arial, Helvetica, Geneva; background: white
+url(../../images/helphead_bg.gif) repeat-x 0% 0% }
- #headgraphic { position: absolute; z-index: 0; top: 0px; left: 0px;
- width: 380px; visibility: visible }
+ #headgraphic { position: absolute; z-index: 0; top: 0px; left: 0px; width: 100%; visibility: visible }
- #helpcontent { position: absolute; top: 37px; left: 10px;
- width: 93%; visibility: visible }
-
+ #helpcontent { position: absolute; top: 37px; left: 10px; width: 93%; visibility: visible }
+
-->
- </style>
+ </style>
-</head>
-
- <!-- This is the start of the body. It underlays the help banner layer
- and help content layers. -->
-
- <body bgcolor="white" marginwidth="0" marginheight="0"
- leftmargin="0" topmargin="0">
-<!-- This is the start of the Help Banner Layer --> <div id="headgraphic"> <img src="../../images/h1_help.gif" width="380" height="32" border="0"></div><!-- This is end of the Help Banner Layer -->
-<!-- This is the start of the Help Content Layer --> <div id="helpcontent"> <!-- The Page Heading uses CSS style "head3b". This creates an H3 header
+</head>
+<!-- This is the start of the body. It underlays the help banner layer
+ and help content layers. -->
+<body bgcolor="white" marginwidth="0" marginheight="0" leftmargin="0" topmargin="0">
+<!-- This is the start of the Help Banner Layer --> <div id="headgraphic">
+<table border="0" cellspacing="0" cellpadding="0" width="100%" height="26" style="margin:0px; padding:0px; background-image: url(../../images/header_pattern.gif); background-repeat: repeat-x;">
+<tr> <td width="221"><img src="help_title.gif" alt="Novell iFolder" border="0" width="221" height="26"></td><td align="right" width="100%" class="tabCell" style="background-image: url(../../images/header_background.gif); background-repeat: no-repeat;">
+</td></tr> </table></div><!-- This is end of the Help Banner Layer -->
+<!-- This is the start of the Help Content Layer --> <div id="helpcontent" style="left: 10px; top: 38px">
+<!-- The Page Heading uses CSS style "head3b". This creates an H3 header
with a line beneath it.
+
--> <h3 class="head3b">Managing the LDAP Settings for the iFolder System</h3>
<p> Use this interface to modify the LDAP settings for the selected Novell<SUP><SMALL>®</SMALL></SUP> iFolder<SUP><SMALL>®</SMALL></SUP>
3.7 or later server on this iFolder domain. </p>
Modified: trunk/src/admin/help/en/legalnotices.html
===================================================================
--- trunk/src/admin/help/en/legalnotices.html 2010-05-25 06:07:57 UTC (rev 7372)
+++ trunk/src/admin/help/en/legalnotices.html 2010-05-25 11:32:09 UTC (rev 7373)
@@ -1,73 +1,63 @@
-<html>
-
-<head>
-<!-- Novell iFolder 3.x Web Access -->
-
-<title>Legal Notices</title>
-
-<!-- Metadata -->
-<meta name="Author" content="iFolder 3.x Documentation Manager">
-<meta name="date" content="02-17-2005">
-<meta name="modified" content="06-29-2005">
-<!-- Documentation Stylesheet -->
-<link rel="stylesheet" href="hf_style.css" type="text/css">
-
-<!-- Style definitions for this Help page: body plus help banner layer
- and help content layer. The style definition is commented to prevent
- older browsers from presenting the style information as part of the
- page itself.
- --> <style type= "text/css" media="screen">
- <!--
-
- body { font-family: Arial, Helvetica, Geneva;
- background: white url('../../images/helphead_bg.gif') repeat-x; }
-
- #headgraphic { position: absolute; z-index: 0; top: 0px; left: 0px;
- width: 100%; visibility: visible }
-
- #helpcontent { position: absolute; top: 37px; left: 10px;
- width: 93%; visibility: visible }
-
- -->
- </style>
-</head>
-
- <!-- This is the start of the body. It underlays the help banner layer
- and help content layers. -->
-
- <body bgcolor="white" marginwidth="0" marginheight="0"
- leftmargin="0" topmargin="0">
-<!-- This is the start of the Help Banner Layer --> <div id="headgraphic">
- <table border="0" cellspacing="0" cellpadding="0" width="100%" height="26" style="margin:0px; padding:0px; background-image: url('../../images/header_pattern.gif'); background-repeat: repeat-x">
-<tr> <td width="221"> <img src="../../images/help_title.gif" alt="Novell iFolder" border="0" width="221" height="26"></td>
- <td align="right" width="100%" class="tabCell" style="background-image: url('../../images/header_background.gif'); background-repeat: no-repeat"></td></tr></table></div><!-- This is end of the Help Banner Layer -->
-<!-- This is the start of the Help Content Layer --> <div id="helpcontent"> <!-- The Page Heading uses CSS style "head3b". This creates an H3 header
- with a line beneath it.
---> <h3 class="head3b">Legal Notices</h3><p>Novell, Inc., makes no representations
-or warranties with respect to the contents or use of this documentation, and specifically
-disclaims any express or implied warranties of merchantability or fitness for
-any particular purpose. Further, Novell, Inc., reserves the right to revise this
-publication and to make changes to its content, at any time, without obligation
-to notify any person or entity of such revisions or changes.</p><p>Further, Novell,
-Inc., makes no representations or warranties with respect to any software, and
-specifically disclaims any express or implied warranties of merchantability or
-fitness for any particular purpose. Further, Novell, Inc., reserves the right to
-make changes to any and all parts of Novell software, at any time, without any
-obligation to notify any person or entity of such changes.</p><h3>Export Notice</h3><p>You
-may not use, export, or re-export this product in violation of any applicable
-laws or regulations including, without limitation, U.S. export regulations or
-the laws of the country in which you reside.</p><h3>Novell Trademarks</h3><p>eDirectory is a trademark
-of Novell, Inc.</p><p>iFolder is a trademark of Novell, Inc.</p><p>Novell is a
-registered trademark of Novell, Inc., in the United States and other countries.</p><p>Novell
-iFolder is a registered trademark of Novell, Inc., in the United States and other
-countries. </p><h3>Third-Party Trademarks</h3><p>All third-party trademarks are
-the property of their respective owners.</p><h3>Documentation Conventions</h3><p>This
-documentation uses a greater-than symbol (>) to separate actions within a step
-and items in a cross-reference path.</p><p>A trademark symbol (<sup><small>®</small></sup>, <small>
-<sup>TM</sup><span style="font-size: 0.9em">)</span></small> denotes a Novell trademark. An asterisk (*)
-denotes a third-party trademark.</p><p>When a single pathname can be written with
-a backslash for some platforms or a forward slash for other platforms, the pathname
-is presented with a backslash. Users of platforms that require a forward slash,
-such as Linux* or UNIX*, should use forward slashes as required by your software.</p></div>
-</body>
+<html>
+
+<head>
+<!-- Novell iFolder 3.x Web Access -->
+
+<title>Legal Notices</title>
+
+<!-- Metadata -->
+<meta name="Author" content="iFolder 3.x Documentation Manager">
+<meta name="date" content="02-17-2005">
+<meta name="modified" content="06-29-2005">
+<!-- Documentation Stylesheet -->
+<link rel="stylesheet" href="hf_style.css" type="text/css">
+
+<!-- Style definitions for this Help page: body plus help banner layer
+ and help content layer. The style definition is commented to prevent
+ older browsers from presenting the style information as part of the
+ page itself.
+ <style type= "text/css" media="screen">
+ <!--
+
+ body { font-family: Arial, Helvetica, Geneva; background: white
+url(../../images/helphead_bg.gif) repeat-x 0% 0% }
+
+ #headgraphic { position: absolute; z-index: 0; top: 0px; left: 0px; width: 100%; visibility: visible }
+
+ #helpcontent { position: absolute; top: 37px; left: 10px; width: 93%; visibility: visible }
+
+ -->
+ </style>
+
+
+
+
+</head>
+<!-- This is the start of the body. It underlays the help banner layer
+ and help content layers. -->
+<body bgcolor="white" marginwidth="0" marginheight="0" leftmargin="0" topmargin="0">
+<!-- This is the start of the Help Banner Layer --> <div id="headgraphic">
+<table border="0" cellspacing="0" cellpadding="0" width="100%" height="26" style="margin:0px; padding:0px; background-image: url(../../images/header_pattern.gif); background-repeat: repeat-x;">
+<tr> <td width="221"><img src="help_title.gif" alt="Novell iFolder" border="0" width="221" height="26"></td><td align="right" width="100%" class="tabCell" style="background-image: url(../../images/header_background.gif); background-repeat: no-repeat;">
+</td></tr> </table></div><!-- This is end of the Help Banner Layer -->
+<!-- This is the start of the Help Content Layer --> <div id="helpcontent" style="left: 10px; top: 38px">
+<!-- The Page Heading uses CSS style "head3b". This creates an H3 header
+ with a line beneath it.
+
+--> <h3 class="head3b">Legal Notices</h3><p>Novell, Inc., makes no representations
+or warranties with respect to the contents or use of this documentation, and specifically
+disclaims any express or implied warranties of merchantability or fitness for
+any particular purpose. Further, Novell, Inc., reserves the right to revise this
+publication and to make changes to its content, at any time, without obligation
+to notify any person or entity of such revisions or changes.</p><p>Further, Novell,
+Inc., makes no representations or warranties with respect to any software, and
+specifically disclaims any express or implied warranties of merchantability or
+fitness for any particular purpose. Further, Novell, Inc., reserves the right to
+make changes to any and all parts of Novell software, at any time, without any
+obligation to notify any person or entity of such changes.</p><h3>Export Notice</h3><p>You
+may not use, export, or re-export this product in violation of any applicable
+laws or regulations including, without limitation, U.S. export regulations or
+the laws of the country in which you reside.</p><h3> </h3>
+</div>
+</body>
</html>
\ No newline at end of file
Modified: trunk/src/admin/help/en/login.html
===================================================================
--- trunk/src/admin/help/en/login.html 2010-05-25 06:07:57 UTC (rev 7372)
+++ trunk/src/admin/help/en/login.html 2010-05-25 11:32:09 UTC (rev 7373)
@@ -27,33 +27,29 @@
<style type= "text/css" media="screen">
<!--
- body { font-family: Arial, Helvetica, Geneva;
- background: white
+ body { font-family: Arial, Helvetica, Geneva; background: white
url(../../images/helphead_bg.gif) repeat-x 0% 0% }
- #headgraphic { position: absolute; z-index: 0; top: 0px; left: 0px;
- width: 380px; visibility: visible }
+ #headgraphic { position: absolute; z-index: 0; top: 0px; left: 0px; width: 100%; visibility: visible }
- #helpcontent { position: absolute; top: 37px; left: 10px;
- width: 93%; visibility: visible }
-
+ #helpcontent { position: absolute; top: 37px; left: 10px; width: 93%; visibility: visible }
+
-->
- </style>
+ </style>
-</head>
-
- <!-- This is the start of the body. It underlays the help banner layer
- and help content layers. -->
-
- <body bgcolor="white" marginwidth="0" marginheight="0"
- leftmargin="0" topmargin="0">
+</head>
+<!-- This is the start of the body. It underlays the help banner layer
+ and help content layers. -->
+<body bgcolor="white" marginwidth="0" marginheight="0" leftmargin="0" topmargin="0">
<!-- This is the start of the Help Banner Layer --> <div id="headgraphic">
-<img src="../../images/h1_help.gif" width="380" height="32" border="0"></div><!-- This is end of the Help Banner Layer -->
-<!-- This is the start of the Help Content Layer -->
-<div id="helpcontent"> <!-- The Page Heading uses CSS style "head3b". This creates an H3 header
+<table border="0" cellspacing="0" cellpadding="0" width="100%" height="26" style="margin:0px; padding:0px; background-image: url(../../images/header_pattern.gif); background-repeat: repeat-x;">
+<tr> <td width="221"><img src="help_title.gif" alt="Novell iFolder" border="0" width="221" height="26"></td><td align="right" width="100%" class="tabCell" style="background-image: url(../../images/header_background.gif); background-repeat: no-repeat;">
+</td></tr> </table></div><!-- This is end of the Help Banner Layer -->
+<!-- This is the start of the Help Content Layer --> <div id="helpcontent" style="left: 10px; top: 38px">
+<!-- The Page Heading uses CSS style "head3b". This creates an H3 header
with a line beneath it.
-->
<h3 class="head3b">Logging In to Web Admin</h3>
Modified: trunk/src/admin/help/en/member.html
===================================================================
--- trunk/src/admin/help/en/member.html 2010-05-25 06:07:57 UTC (rev 7372)
+++ trunk/src/admin/help/en/member.html 2010-05-25 11:32:09 UTC (rev 7373)
@@ -27,31 +27,29 @@
<style type= "text/css" media="screen">
<!--
- body { font-family: Arial, Helvetica, Geneva;
- background: white
+ body { font-family: Arial, Helvetica, Geneva; background: white
url(../../images/helphead_bg.gif) repeat-x 0% 0% }
- #headgraphic { position: absolute; z-index: 0; top: 0px; left: 0px;
- width: 380px; visibility: visible }
+ #headgraphic { position: absolute; z-index: 0; top: 0px; left: 0px; width: 100%; visibility: visible }
- #helpcontent { position: absolute; top: 37px; left: 10px;
- width: 93%; visibility: visible }
-
+ #helpcontent { position: absolute; top: 37px; left: 10px; width: 93%; visibility: visible }
+
-->
- </style>
+ </style>
-</head>
-
- <!-- This is the start of the body. It underlays the help banner layer
- and help content layers. -->
-
- <body bgcolor="white" marginwidth="0" marginheight="0"
- leftmargin="0" topmargin="0">
-<!-- This is the start of the Help Banner Layer --> <div id="headgraphic"> <img src="../../images/h1_help.gif" width="380" height="32" border="0"></div><!-- This is end of the Help Banner Layer -->
-<!-- This is the start of the Help Content Layer --> <div id="helpcontent"> <!-- The Page Heading uses CSS style "head3b". This creates an H3 header
+</head>
+<!-- This is the start of the body. It underlays the help banner layer
+ and help content layers. -->
+<body bgcolor="white" marginwidth="0" marginheight="0" leftmargin="0" topmargin="0">
+<!-- This is the start of the Help Banner Layer --> <div id="headgraphic">
+<table border="0" cellspacing="0" cellpadding="0" width="100%" height="26" style="margin:0px; padding:0px; background-image: url(../../images/header_pattern.gif); background-repeat: repeat-x;">
+<tr> <td width="221"><img src="help_title.gif" alt="Novell iFolder" border="0" width="221" height="26"></td><td align="right" width="100%" class="tabCell" style="background-image: url(../../images/header_background.gif); background-repeat: no-repeat;">
+</td></tr> </table></div><!-- This is end of the Help Banner Layer -->
+<!-- This is the start of the Help Content Layer --> <div id="helpcontent" style="left: 10px; top: 38px">
+<!-- The Page Heading uses CSS style "head3b". This creates an H3 header
with a line beneath it.
-->
<h3 class="head3b">Managing Web Admin Console</h3>
Modified: trunk/src/admin/help/en/provisionusers.html
===================================================================
--- trunk/src/admin/help/en/provisionusers.html 2010-05-25 06:07:57 UTC (rev 7372)
+++ trunk/src/admin/help/en/provisionusers.html 2010-05-25 11:32:09 UTC (rev 7373)
@@ -27,33 +27,29 @@
<style type= "text/css" media="screen">
<!--
- body { font-family: Arial, Helvetica, Geneva;
- background: white
+ body { font-family: Arial, Helvetica, Geneva; background: white
url(../../images/helphead_bg.gif) repeat-x 0% 0% }
- #headgraphic { position: absolute; z-index: 0; top: 0px; left: 0px;
- width: 380px; visibility: visible }
+ #headgraphic { position: absolute; z-index: 0; top: 0px; left: 0px; width: 100%; visibility: visible }
- #helpcontent { position: absolute; top: 37px; left: 10px;
- width: 93%; visibility: visible }
-
+ #helpcontent { position: absolute; top: 37px; left: 10px; width: 93%; visibility: visible }
+
-->
- </style>
+ </style>
-</head>
-
- <!-- This is the start of the body. It underlays the help banner layer
- and help content layers. -->
-
- <body bgcolor="white" marginwidth="0" marginheight="0"
- leftmargin="0" topmargin="0">
+</head>
+<!-- This is the start of the body. It underlays the help banner layer
+ and help content layers. -->
+<body bgcolor="white" marginwidth="0" marginheight="0" leftmargin="0" topmargin="0">
<!-- This is the start of the Help Banner Layer --> <div id="headgraphic">
-<img src="../../images/h1_help.gif" width="380" height="32" border="0"></div><!-- This is end of the Help Banner Layer -->
-<!-- This is the start of the Help Content Layer -->
-<div id="helpcontent"> <!-- The Page Heading uses CSS style "head3b". This creates an H3 header
+<table border="0" cellspacing="0" cellpadding="0" width="100%" height="26" style="margin:0px; padding:0px; background-image: url(../../images/header_pattern.gif); background-repeat: repeat-x;">
+<tr> <td width="221"><img src="help_title.gif" alt="Novell iFolder" border="0" width="221" height="26"></td><td align="right" width="100%" class="tabCell" style="background-image: url(../../images/header_background.gif); background-repeat: no-repeat;">
+</td></tr> </table></div><!-- This is end of the Help Banner Layer -->
+<!-- This is the start of the Help Content Layer --> <div id="helpcontent" style="left: 10px; top: 38px">
+<!-- The Page Heading uses CSS style "head3b". This creates an H3 header
with a line beneath it.
-->
<h3><a name="manage"></a>Provisioning and Reprovisioning Users and LDAPGroups</h3>
Modified: trunk/src/admin/help/en/reports.html
===================================================================
--- trunk/src/admin/help/en/reports.html 2010-05-25 06:07:57 UTC (rev 7372)
+++ trunk/src/admin/help/en/reports.html 2010-05-25 11:32:09 UTC (rev 7373)
@@ -27,31 +27,28 @@
<style type= "text/css" media="screen">
<!--
- body { font-family: Arial, Helvetica, Geneva;
- background: white url('../../images/helphead_bg.gif') repeat-x; }
+ body { font-family: Arial, Helvetica, Geneva; background: white
+url(../../images/helphead_bg.gif) repeat-x 0% 0% }
- #headgraphic { position: absolute; z-index: 0; top: 0px; left: 0px;
- width: 380px; visibility: visible }
+ #headgraphic { position: absolute; z-index: 0; top: 0px; left: 0px; width: 100%; visibility: visible }
- #helpcontent { position: absolute; top: 37px; left: 10px;
- width: 93%; visibility: visible }
-
+ #helpcontent { position: absolute; top: 37px; left: 10px; width: 93%; visibility: visible }
+
-->
- </style>
+ </style>
-</head>
-
- <!-- This is the start of the body. It underlays the help banner layer
- and help content layers. -->
-
- <body bgcolor="white" marginwidth="0" marginheight="0"
- leftmargin="0" topmargin="0">
+</head>
+<!-- This is the start of the body. It underlays the help banner layer
+ and help content layers. -->
+<body bgcolor="white" marginwidth="0" marginheight="0" leftmargin="0" topmargin="0">
<!-- This is the start of the Help Banner Layer --> <div id="headgraphic">
-<img src="../../images/h1_help.gif" width="380" height="32" border="0"></div><!-- This is end of the Help Banner Layer -->
-<!-- This is the start of the Help Content Layer --> <div id="helpcontent">
+<table border="0" cellspacing="0" cellpadding="0" width="100%" height="26" style="margin:0px; padding:0px; background-image: url(../../images/header_pattern.gif); background-repeat: repeat-x;">
+<tr> <td width="221"><img src="help_title.gif" alt="Novell iFolder" border="0" width="221" height="26"></td><td align="right" width="100%" class="tabCell" style="background-image: url(../../images/header_background.gif); background-repeat: no-repeat;">
+</td></tr> </table></div><!-- This is end of the Help Banner Layer -->
+<!-- This is the start of the Help Content Layer --> <div id="helpcontent" style="left: 10px; top: 38px">
<!-- The Page Heading uses CSS style "head3b". This creates an H3 header
with a line beneath it.
-->
@@ -92,7 +89,7 @@
<P>
<A HREF="#top" TARGET="_self"><IMG SRC="../../images/goto_top.gif" WIDTH="19" HEIGHT="19" BORDER="0" ALT="Go to top"></A></P><H4 CLASS="ruleabove"><IMG SRC="../../images/xrefbtn.gif" WIDTH="16" HEIGHT="16" ALT="Related Topics" align="top">
Related Topics</H4><BLOCKQUOTE class="task1"><P><A HREF="serverdetails.html">Server Details
-</A><BR><A HREF="ifolderdetails.html">Managing iFolder Details</A></P></BLOCKQUOTE><P><P CLASS="copyright">A
+</A><BR><A HREF="ifolderdetails.html">Managing iFolder Details</A><BR><A HREF="ifolders.html">Managing iFolders</A><BR><A HREF="systeminfo.html">Managing the iFolder System</A><BR><A HREF="servers.html">Managing iFolder Servers</A><BR><A HREF="users.html">Managing a User Account</A></P></BLOCKQUOTE><P><P CLASS="copyright">A
trademark symbol (<SUP><SMALL>®</SMALL></SUP>, <SUP><SMALL>TM</SMALL></SUP>,
etc.) denotes a Novell trademark. An asterisk (*) denotes a third-party
trademark. For more information, see <A HREF="imgr_legalnotices.html" TARGET="_self" ><font color="#cfcdc6">Legal
Modified: trunk/src/admin/help/en/serverdetails.html
===================================================================
--- trunk/src/admin/help/en/serverdetails.html 2010-05-25 06:07:57 UTC (rev 7372)
+++ trunk/src/admin/help/en/serverdetails.html 2010-05-25 11:32:09 UTC (rev 7373)
@@ -28,30 +28,29 @@
<style type= "text/css" media="screen">
<!--
- body { font-family: Arial, Helvetica, Geneva;
- background: white url('../../images/helphead_bg.gif') repeat-x; }
+ body { font-family: Arial, Helvetica, Geneva; background: white
+url(../../images/helphead_bg.gif) repeat-x 0% 0% }
- #headgraphic { position: absolute; z-index: 0; top: 0px; left: 0px;
- width: 380px; visibility: visible }
+ #headgraphic { position: absolute; z-index: 0; top: 0px; left: 0px; width: 100%; visibility: visible }
- #helpcontent { position: absolute; top: 37px; left: 10px;
- width: 93%; visibility: visible }
-
+ #helpcontent { position: absolute; top: 37px; left: 10px; width: 93%; visibility: visible }
+
-->
- </style>
+ </style>
-</head>
-
- <!-- This is the start of the body. It underlays the help banner layer
- and help content layers. -->
-
- <body bgcolor="white" marginwidth="0" marginheight="0"
- leftmargin="0" topmargin="0">
-<!-- This is the start of the Help Banner Layer --> <div id="headgraphic"> <img src="../../images/h1_help.gif" width="380" height="32" border="0"></div><!-- This is end of the Help Banner Layer -->
-<!-- This is the start of the Help Content Layer --> <div id="helpcontent"> <!-- The Page Heading uses CSS style "head3b". This creates an H3 header
+</head>
+<!-- This is the start of the body. It underlays the help banner layer
+ and help content layers. -->
+<body bgcolor="white" marginwidth="0" marginheight="0" leftmargin="0" topmargin="0">
+<!-- This is the start of the Help Banner Layer --> <div id="headgraphic">
+<table border="0" cellspacing="0" cellpadding="0" width="100%" height="26" style="margin:0px; padding:0px; background-image: url(../../images/header_pattern.gif); background-repeat: repeat-x;">
+<tr> <td width="221"><img src="help_title.gif" alt="Novell iFolder" border="0" width="221" height="26"></td><td align="right" width="100%" class="tabCell" style="background-image: url(../../images/header_background.gif); background-repeat: no-repeat;">
+</td></tr> </table></div><!-- This is end of the Help Banner Layer -->
+<!-- This is the start of the Help Content Layer --> <div id="helpcontent" style="left: 10px; top: 38px">
+<!-- The Page Heading uses CSS style "head3b". This creates an H3 header
with a line beneath it.
-->
<h3 class="head3b">Server Details</h3>
Modified: trunk/src/admin/help/en/servers.html
===================================================================
--- trunk/src/admin/help/en/servers.html 2010-05-25 06:07:57 UTC (rev 7372)
+++ trunk/src/admin/help/en/servers.html 2010-05-25 11:32:09 UTC (rev 7373)
@@ -27,31 +27,29 @@
<style type= "text/css" media="screen">
<!--
- body { font-family: Arial, Helvetica, Geneva;
- background: white
+ body { font-family: Arial, Helvetica, Geneva; background: white
url(../../images/helphead_bg.gif) repeat-x 0% 0% }
- #headgraphic { position: absolute; z-index: 0; top: 0px; left: 0px;
- width: 380px; visibility: visible }
+ #headgraphic { position: absolute; z-index: 0; top: 0px; left: 0px; width: 100%; visibility: visible }
- #helpcontent { position: absolute; top: 37px; left: 10px;
- width: 93%; visibility: visible }
-
+ #helpcontent { position: absolute; top: 37px; left: 10px; width: 93%; visibility: visible }
+
-->
- </style>
+ </style>
-</head>
-
- <!-- This is the start of the body. It underlays the help banner layer
- and help content layers. -->
-
- <body bgcolor="white" marginwidth="0" marginheight="0"
- leftmargin="0" topmargin="0">
-<!-- This is the start of the Help Banner Layer --> <div id="headgraphic"> <img src="../../images/h1_help.gif" width="380" height="32" border="0"></div><!-- This is end of the Help Banner Layer -->
-<!-- This is the start of the Help Content Layer --> <div id="helpcontent"> <!-- The Page Heading uses CSS style "head3b". This creates an H3 header
+</head>
+<!-- This is the start of the body. It underlays the help banner layer
+ and help content layers. -->
+<body bgcolor="white" marginwidth="0" marginheight="0" leftmargin="0" topmargin="0">
+<!-- This is the start of the Help Banner Layer --> <div id="headgraphic">
+<table border="0" cellspacing="0" cellpadding="0" width="100%" height="26" style="margin:0px; padding:0px; background-image: url(../../images/header_pattern.gif); background-repeat: repeat-x;">
+<tr> <td width="221"><img src="help_title.gif" alt="Novell iFolder" border="0" width="221" height="26"></td><td align="right" width="100%" class="tabCell" style="background-image: url(../../images/header_background.gif); background-repeat: no-repeat;">
+</td></tr> </table></div><!-- This is end of the Help Banner Layer -->
+<!-- Th...
[truncated message content] |
|
From: <ra...@us...> - 2010-05-25 06:08:05
|
Revision: 7372
http://simias.svn.sourceforge.net/simias/?rev=7372&view=rev
Author: ravim85
Date: 2010-05-25 06:07:57 +0000 (Tue, 25 May 2010)
Log Message:
-----------
webbindir coded using relative path rather than using $(webbindir) in
Makefile.am - patch by CS...@fa...
Modified Paths:
--------------
trunk/src/admin/Makefile.am
trunk/src/webaccess/Makefile.am
Modified: trunk/src/admin/Makefile.am
===================================================================
--- trunk/src/admin/Makefile.am 2010-05-21 10:18:32 UTC (rev 7371)
+++ trunk/src/admin/Makefile.am 2010-05-25 06:07:57 UTC (rev 7372)
@@ -201,8 +201,8 @@
rm -rf `find $(DESTDIR)$(admindir)/images -name .svn`
cd $(srcdir)/css; cp -r * $(DESTDIR)$(admindir)/css
rm -rf `find $(DESTDIR)$(admindir)/css -name .svn`
- $(INSTALL_PROGRAM) $(DESTDIR)$(admindir)/../web/bin/SimiasLib.dll $(DESTDIR)$(admindir)/bin/
- $(INSTALL_PROGRAM) $(DESTDIR)$(admindir)/../web/bin/SimiasClient.dll $(DESTDIR)$(admindir)/bin/
+ $(INSTALL_PROGRAM) $(DESTDIR)$(webbindir)/SimiasLib.dll $(DESTDIR)$(admindir)/bin/
+ $(INSTALL_PROGRAM) $(DESTDIR)$(webbindir)/SimiasClient.dll $(DESTDIR)$(admindir)/bin/
#if !LINUX
# $(INSTALL_PROGRAM) $(LOG4NET_DIR)/log4net.dll $(DESTDIR)$(admindir)/bin
#endif
Modified: trunk/src/webaccess/Makefile.am
===================================================================
--- trunk/src/webaccess/Makefile.am 2010-05-21 10:18:32 UTC (rev 7371)
+++ trunk/src/webaccess/Makefile.am 2010-05-25 06:07:57 UTC (rev 7372)
@@ -176,7 +176,7 @@
rm -rf `find $(DESTDIR)$(webaccessdir)/help -name .svn`
cd $(srcdir)/images; cp -r * $(DESTDIR)$(webaccessdir)/images
rm -rf `find $(DESTDIR)$(webaccessdir)/images -name .svn`
- $(INSTALL_PROGRAM) $(DESTDIR)$(webaccessdir)/../web/bin/SimiasLib.dll $(DESTDIR)$(webaccessdir)/bin
+ $(INSTALL_PROGRAM) $(DESTDIR)$(webbindir)/SimiasLib.dll $(DESTDIR)$(webaccessdir)/bin
#if !LINUX
# $(INSTALL_PROGRAM) $(LOG4NET_DIR)/log4net.dll $(DESTDIR)$(webaccessdir)/bin
#endif
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <sb...@us...> - 2010-05-21 03:30:35
|
Revision: 7370
http://simias.svn.sourceforge.net/simias/?rev=7370&view=rev
Author: sbipin
Date: 2010-05-21 03:30:28 +0000 (Fri, 21 May 2010)
Log Message:
-----------
ID: #00000
Reviewer: Self
Localization Required: No
Documentation Required: No
Description: Branched @ rev 7369
Revision Links:
--------------
http://simias.svn.sourceforge.net/simias/?rev=7369&view=rev
Added Paths:
-----------
branches/iFolder_3.8.1_beta1/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <he...@us...> - 2010-05-19 16:21:09
|
Revision: 7369
http://simias.svn.sourceforge.net/simias/?rev=7369&view=rev
Author: hegdegg
Date: 2010-05-19 16:21:03 +0000 (Wed, 19 May 2010)
Log Message:
-----------
Update done to wrapper methods to take url to connect.
Updation of Simias.config file with changemaster.
Modified Paths:
--------------
trunk/src/admin/ServerDetails.aspx.cs
trunk/src/webservices/iFolderServer.cs
Modified: trunk/src/admin/ServerDetails.aspx.cs
===================================================================
--- trunk/src/admin/ServerDetails.aspx.cs 2010-05-19 12:24:26 UTC (rev 7368)
+++ trunk/src/admin/ServerDetails.aspx.cs 2010-05-19 16:21:03 UTC (rev 7369)
@@ -515,14 +515,8 @@
if ( remoteweb.ServerNeedsRepair() == true )
{
log.Info("This server needs a repair");
- RepairServerButton.Enabled = true;
- RepairServerButton.Visible = true;
+ remoteweb.RepairChangeMasterUpdates();
}
- else
- {
- RepairServerButton.Enabled = false;
- RepairServerButton.Visible = false;
- }
}
catch (WebException ex)
{
@@ -809,6 +803,7 @@
ChangeMasterButton.Text = GetString ("CHANGEMASTER");
RepairServerButton.Text= GetString("NEEDSREPAIR");
RepairServerButton.Enabled = false;
+ RepairServerButton.Visible = false;
DisableButton.Text = GetString( "DISABLE" );
DeleteButton.Text = GetString( "DELETE" );
@@ -1281,14 +1276,14 @@
/// </summary>
/// <param name="serverID">ID of the server</param>
/// <param name="ServerURL">Url of the server</param>
- protected bool SetAsSlave(string serverID, string ServerURL)
+ protected bool SetAsSlave(string connectUrl, string serverID, string ServerURL)
{
int count = 0 ;
bool retval = false;
iFolderAdmin remoteWebServer = new iFolderAdmin();
remoteWebServer.PreAuthenticate = true;
remoteWebServer.Credentials = web.Credentials;
- remoteWebServer.Url = ServerURL + "/iFolderAdmin.asmx";
+ remoteWebServer.Url = connectUrl+ "/iFolderAdmin.asmx";
while ( count <= retryCount)
{
@@ -1317,14 +1312,14 @@
/// </summary>
/// <param name="serverID">ID of the server</param>
/// <param name="ServerURL">Url of the server</param>
- protected bool SetAsMaster(string serverID, string serverURL)
+ protected bool SetAsMaster(string connectUrl, string serverID )
{
int count = 0 ;
bool retval = false;
iFolderAdmin remoteWebServer = new iFolderAdmin();
remoteWebServer.PreAuthenticate = true;
remoteWebServer.Credentials = web.Credentials;
- remoteWebServer.Url = serverURL + "/iFolderAdmin.asmx";
+ remoteWebServer.Url = connectUrl + "/iFolderAdmin.asmx";
while ( count <= retryCount)
{
@@ -1354,7 +1349,7 @@
/// <param name="serverID">ID of the server</param>
/// <param name="ServerURL">Url of the server</param>
/// <param name="nodeValue">true/false for master/slave</param>
- protected bool SetMasterNode(string serverID, string serverURL, bool nodeValue)
+ protected bool SetMasterNode(string connectUrl, string serverID, bool nodeValue)
{
int count = 0;
bool retval = false;
@@ -1362,7 +1357,7 @@
iFolderAdmin remoteWebServer = new iFolderAdmin();
remoteWebServer.PreAuthenticate = true;
remoteWebServer.Credentials = web.Credentials;
- remoteWebServer.Url = serverURL + "/iFolderAdmin.asmx";
+ remoteWebServer.Url = connectUrl + "/iFolderAdmin.asmx";
while ( count <= retryCount)
{
@@ -1392,7 +1387,7 @@
/// <param name="serverID">ID of the server</param>
/// <param name="ServerURL">Url of the server</param>
/// <param name="checkVal">true/false for master/slave</param>
- protected bool GetMasterNode(string serverID, string serverURL, bool checkVal)
+ protected bool GetMasterNode(string connectUrl, string serverID, bool checkVal)
{
int count = 0;
bool retval = false;
@@ -1400,7 +1395,7 @@
iFolderAdmin remoteWebServer = new iFolderAdmin();
remoteWebServer.PreAuthenticate = true;
remoteWebServer.Credentials = web.Credentials;
- remoteWebServer.Url = serverURL + "/iFolderAdmin.asmx";
+ remoteWebServer.Url = connectUrl + "/iFolderAdmin.asmx";
int loop = 0;
while ( count <= retryCount)
@@ -1409,11 +1404,12 @@
{
while (loop <= retryCount)
{
+ log.Info("Getting the MasterNodeAttribute for : {0}", serverID);
retval = remoteWebServer.GetMasterNodeAttribute(serverID);
if (retval != checkVal)
{
log.Info("Waiting for master node attrituge to sync accross old and new master server");
- Thread.Sleep(10000);
+ Thread.Sleep(1000);
}
loop++;
}
@@ -1438,14 +1434,14 @@
/// </summary>
/// <param name="serverID">ID of the server</param>
/// <param name="ServerURL">Url of the server</param>
- protected bool SetMasterURL(string serverID, string serverURL)
+ protected bool SetMasterURL(string connectURL, string serverID, string serverURL)
{
int count = 0;
bool retval = false;
iFolderAdmin otherSlaveServers = new iFolderAdmin();
otherSlaveServers.PreAuthenticate = true;
otherSlaveServers.Credentials = web.Credentials;
- otherSlaveServers.Url = serverURL + "/iFolderAdmin.asmx";
+ otherSlaveServers.Url = connectURL + "/iFolderAdmin.asmx";
log.Info("Connecting to : {0}", otherSlaveServers.Url);
while ( count <= retryCount)
@@ -1491,8 +1487,6 @@
iFolderServer mServer = null,
newmServer=null;
- newmServer = web.GetServer(ServerID);
- mServer = web.GetMasterServer();
log.Info("Change Master Server process Initiated");
try
{
@@ -1532,7 +1526,7 @@
// First Set current Master server to Slave
log.Info("Setting as Slave server...");
- currentMasterUpdateComplete = SetAsSlave(ServerID, mServer.PublicUrl);
+ currentMasterUpdateComplete = SetAsSlave(mServer.PublicUrl, ServerID, newmServer.PublicUrl);
if( !currentMasterUpdateComplete )
{
log.Info("Unable to set the server as slave, retry");
@@ -1543,7 +1537,7 @@
log.Info("Set as Slave Server Complete.Setting selected server as Master Server...");
// Then, Set the New Master Server
log.Info("New Master Server admin service Url = {0}", newmServer.PublicUrl);
- newMasterUpdateComplete = SetAsMaster(ServerID, newmServer.PublicUrl);
+ newMasterUpdateComplete = SetAsMaster(newmServer.PublicUrl, ServerID);
if(!newMasterUpdateComplete)
{
log.Info("Unable to set the server as Master, retry");
@@ -1552,9 +1546,9 @@
}
// Master and Slave updated, now set the Master node attribute for new Master host on both
// current master and new master
- if ( SetMasterNode(ServerID, mServer.PublicUrl, true))
+ if ( SetMasterNode(mServer.PublicUrl, mServer.ID, true))
{
- if (GetMasterNode(newmServer.ID, newmServer.PublicUrl, true) != true )
+ if (GetMasterNode(newmServer.PublicUrl, newmServer.ID, true) != true )
{
TopNav.ShowInfo(GetString("CHANGEMASTERRETRY"));
return;
@@ -1572,7 +1566,7 @@
{
if ( ifs.HostName != newmServer.HostName)
{
- if (SetMasterURL(ServerID, newServerPublicUrl) != true)
+ if (SetMasterURL(ifs.PublicUrl, ServerID, newServerPublicUrl) != true)
{
log.Info("Update master serverurl on {0} failed ", ifs.PublicUrl);
list.Add(ifs.HostName);
Modified: trunk/src/webservices/iFolderServer.cs
===================================================================
--- trunk/src/webservices/iFolderServer.cs 2010-05-19 12:24:26 UTC (rev 7368)
+++ trunk/src/webservices/iFolderServer.cs 2010-05-19 16:21:03 UTC (rev 7369)
@@ -812,9 +812,28 @@
cat.Commit(cat);
log.Info("Commiting all value to set this server ({0} as Slave Server", localhostNode.Name);
-
localhostNode.ChangeMasterState = (int)HostNode.changeMasterStates.Complete;
domain.Commit(localhostNode);
+
+ string ServerSection="Server";
+ string MasterAddressKey = "MasterAddress";
+ string SimiasConfigFilePath = Path.Combine ( Store.StorePath, "Simias.config");
+ if ( File.Exists( Path.Combine( Store.StorePath, Simias.Configuration.DefaultConfigFileName ) ) == true )
+ {
+ SimiasConfigFilePath = Path.Combine( Store.StorePath, Simias.Configuration.DefaultConfigFileName );
+ }
+ // going to update the config file
+ // Load the configuration file into an xml document.
+ XmlDocument document = new XmlDocument();
+ document.Load(SimiasConfigFilePath );
+
+ log.Info("Setting the MasterAddress in simias.config file");
+ if (! SetConfigValue( document, ServerSection, MasterAddressKey, newMasterPublicUrl))
+ {
+ log.Error("Unable to add MasterAddress from Simias.config file");
+ }
+ CommitConfiguration( document , SimiasConfigFilePath);
+ log.Debug("Simias.config file updated");
}
catch(Exception ex)
{
@@ -879,6 +898,26 @@
localhostNode.ChangeMasterState = (int)HostNode.changeMasterStates.Complete;
domain.Commit(localhostNode);
log.Info("ChangeMasterState tag updated on this server");
+
+ string ServerSection="Server";
+ string MasterAddressKey = "MasterAddress";
+ string SimiasConfigFilePath = Path.Combine ( Store.StorePath, "Simias.config");
+ if ( File.Exists( Path.Combine( Store.StorePath, Simias.Configuration.DefaultConfigFileName ) ) == true )
+ {
+ SimiasConfigFilePath = Path.Combine( Store.StorePath, Simias.Configuration.DefaultConfigFileName );
+ }
+ // going to update the config file
+ // Load the configuration file into an xml document.
+ XmlDocument document = new XmlDocument();
+ document.Load(SimiasConfigFilePath );
+
+ log.Info("Removing the MasterAddress from simias.config file");
+ if (! SetConfigValue( document, ServerSection, MasterAddressKey, null ))
+ {
+ log.Error("Unable to remove MasterAddress from simias.config file");
+ }
+ CommitConfiguration( document , SimiasConfigFilePath);
+ log.Debug("Simias.config file updated");
}
catch(Exception ex)
{
@@ -899,7 +938,7 @@
try
{
Store store = Store.GetStore();
- log.Error("Set Master store : {0}", HostID);
+ log.Info("HostID: {0}, value: {1}", HostID, Value);
Domain domain = store.GetDomain(store.DefaultDomain);
//HostNode lHostNode = HostNode.GetHostByID(domain.ID, HostID);
HostNode lHostNode = HostNode.GetLocalHost();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jj...@us...> - 2010-05-18 13:08:30
|
Revision: 7367
http://simias.svn.sourceforge.net/simias/?rev=7367&view=rev
Author: jjohnny
Date: 2010-05-18 13:08:23 +0000 (Tue, 18 May 2010)
Log Message:
-----------
ID: Bug#583289
Reviewers: Anil
Localization Required: Yes
Documentation Required: Yes
Description: Allow deletion of iFolders from admin console. Secondary
admins would be restricted by a policy.
Modified Paths:
--------------
trunk/src/admin/AdminRights.aspx
trunk/src/admin/AdminRights.aspx.cs
trunk/src/admin/PreferencesEnum.cs
trunk/src/admin/iFolderAdmin.resx
trunk/src/admin/iFolders.aspx
trunk/src/admin/iFolders.aspx.cs
Modified: trunk/src/admin/AdminRights.aspx
===================================================================
--- trunk/src/admin/AdminRights.aspx 2010-05-18 10:48:22 UTC (rev 7366)
+++ trunk/src/admin/AdminRights.aspx 2010-05-18 13:08:23 UTC (rev 7367)
@@ -308,7 +308,7 @@
</table>
<table class="policyclass" >
-
+
<tr>
<th colspan="2">
@@ -330,6 +330,7 @@
<asp:ListItem></asp:ListItem>
<asp:ListItem></asp:ListItem>
<asp:ListItem></asp:ListItem>
+ <asp:ListItem></asp:ListItem>
</asp:CheckBoxList>
Modified: trunk/src/admin/AdminRights.aspx.cs
===================================================================
--- trunk/src/admin/AdminRights.aspx.cs 2010-05-18 10:48:22 UTC (rev 7366)
+++ trunk/src/admin/AdminRights.aspx.cs 2010-05-18 13:08:23 UTC (rev 7367)
@@ -72,8 +72,8 @@
EnableDisableUserAllowed = 4096,
OwnOrphaniFolderAllowed = 8192,
EnableDisableiFolderAllowed = 16384,
- ModifyMemberRightAllowed = 32768
-
+ ModifyMemberRightAllowed = 32768,
+ DeleteiFolderAllowed = 65536,
};
@@ -396,9 +396,11 @@
iFolderRightsList.Items[ 0 ].Text = GetString( "ALLOWORPHANIFOLDEROWNERSHIP" );
iFolderRightsList.Items[ 1 ].Text = GetString( "ALLOWIFOLDERENABLING" );
iFolderRightsList.Items[ 2 ].Text = GetString( "ALLOWSHAREDMEMBERRIGHTS" );
+ iFolderRightsList.Items[ 3 ].Text = GetString( "ALLOWDELETEIFOLDERRIGHTS" );
iFolderRightsList.Items[ 0 ].Selected = true;
iFolderRightsList.Items[ 1 ].Selected = true;
iFolderRightsList.Items[ 2 ].Selected = true;
+ iFolderRightsList.Items[ 3 ].Selected = true;
iFolderUser user = web.GetUser( SecondaryAdmin );
string LebelDisplay;
@@ -661,8 +663,7 @@
iFolderRightsList.Items[0].Selected = UsersGroupRights.OwnOrphaniFolderAllowed;
iFolderRightsList.Items[1].Selected = UsersGroupRights.EnableDisableiFolderAllowed;
iFolderRightsList.Items[2].Selected = UsersGroupRights.ModifyMemberRightAllowed;
-
-
+ iFolderRightsList.Items[3].Selected = UsersGroupRights.DeleteiFolderAllowed;
}
protected int GetSelectedRights()
@@ -685,6 +686,7 @@
value += (iFolderRightsList.Items[0].Selected ? (int)Novell.iFolderWeb.Admin.UserGroupAdminRights.GroupAdminPreferencesEnum.OwnOrphaniFolderAllowed : 0);
value += (iFolderRightsList.Items[1].Selected ? (int)Novell.iFolderWeb.Admin.UserGroupAdminRights.GroupAdminPreferencesEnum.EnableDisableiFolderAllowed : 0);
value += (iFolderRightsList.Items[2].Selected ? (int)Novell.iFolderWeb.Admin.UserGroupAdminRights.GroupAdminPreferencesEnum.ModifyMemberRightAllowed : 0);
+ value += (iFolderRightsList.Items[3].Selected ? (int)Novell.iFolderWeb.Admin.UserGroupAdminRights.GroupAdminPreferencesEnum.DeleteiFolderAllowed : 0);
return value;
}
Modified: trunk/src/admin/PreferencesEnum.cs
===================================================================
--- trunk/src/admin/PreferencesEnum.cs 2010-05-18 10:48:22 UTC (rev 7366)
+++ trunk/src/admin/PreferencesEnum.cs 2010-05-18 13:08:23 UTC (rev 7367)
@@ -55,6 +55,7 @@
public bool OwnOrphaniFolderAllowed;
public bool EnableDisableiFolderAllowed;
public bool ModifyMemberRightAllowed;
+ public bool DeleteiFolderAllowed;
public long preference;
public static int defaultpreference;
@@ -73,6 +74,7 @@
OwnOrphaniFolderAllowed = 0x00000200, //512
EnableDisableiFolderAllowed = 0x00000400, //1024
ModifyMemberRightAllowed = 0x00000800, //2048
+ DeleteiFolderAllowed = 0x00001000, //4096
};
public UserGroupAdminRights(long value)
@@ -92,6 +94,7 @@
this.OwnOrphaniFolderAllowed = (this.preference & (int)GroupAdminPreferencesEnum.OwnOrphaniFolderAllowed) == 0 ? false:true;
this.EnableDisableiFolderAllowed = (this.preference & (int)GroupAdminPreferencesEnum.EnableDisableiFolderAllowed) == 0 ? false:true;
this.ModifyMemberRightAllowed = (this.preference & (int)GroupAdminPreferencesEnum.ModifyMemberRightAllowed) == 0 ? false:true;
+ this.DeleteiFolderAllowed = (this.preference & (int)GroupAdminPreferencesEnum.DeleteiFolderAllowed) == 0 ? false:true;
}
}
Modified: trunk/src/admin/iFolderAdmin.resx
===================================================================
--- trunk/src/admin/iFolderAdmin.resx 2010-05-18 10:48:22 UTC (rev 7366)
+++ trunk/src/admin/iFolderAdmin.resx 2010-05-18 13:08:23 UTC (rev 7367)
@@ -264,6 +264,9 @@
<data name="ERRORCANNOTDELETEIFOLDER">
<value>Cannot delete iFolder.</value>
</data>
+ <data name="ERRORCANNOTDELETEIFOLDER">
+ <value>You do not have permissions to delete {0}.</value>
+ </data>
<data name="ERRORCANNOTDELETEMEMBERS">
<value>Cannot delete iFolder member {0}.</value>
</data>
@@ -1243,6 +1246,9 @@
<data name="ALLOWSHAREDMEMBERRIGHTS">
<value>Allow to modify rights of shared iFolder members</value>
</data>
+ <data name="ALLOWDELETEIFOLDERRIGHTS">
+ <value>Allow permission to delete iFolders</value>
+ </data>
<data name="ASSIGNADMINRIGHTS">
<value>Assign Admin Rights to: </value>
</data>
Modified: trunk/src/admin/iFolders.aspx
===================================================================
--- trunk/src/admin/iFolders.aspx 2010-05-18 10:48:22 UTC (rev 7366)
+++ trunk/src/admin/iFolders.aspx 2010-05-18 13:08:23 UTC (rev 7367)
@@ -179,7 +179,7 @@
Runat="server"
CssClass="ifolderbuttons"
Enabled="False"
- Visible="False"
+ Visible="True"
OnClick="OnDeleteButton_Click" />
<asp:Button
Modified: trunk/src/admin/iFolders.aspx.cs
===================================================================
--- trunk/src/admin/iFolders.aspx.cs 2010-05-18 10:48:22 UTC (rev 7366)
+++ trunk/src/admin/iFolders.aspx.cs 2010-05-18 13:08:23 UTC (rev 7367)
@@ -38,6 +38,7 @@
using System.Data;
using System.Drawing;
using System.Resources;
+using System.Text;
using System.Threading;
using System.Web;
using System.Web.SessionState;
@@ -157,6 +158,21 @@
/// </summary>
protected string currentServerURL;
+ /// <summary>
+ /// Logged in admin system rights instance
+ /// </summary>
+ UserGroupAdminRights uRights;
+
+ /// <summary>
+ /// Logged in user system rights value
+ /// </summary>
+ int grpAccessPolicy = 0;
+
+ /// <summary>
+ /// Currently logged in User ID
+ /// </summary>
+ protected string userID;
+
protected bool reachable = true;
#endregion
@@ -258,7 +274,7 @@
list = web.GetiFoldersByName(iFolderSearch.SearchOperation,
( iFolderSearch.SearchName == String.Empty) ? "*" : iFolderSearch.SearchName,
CurrentiFolderOffset,iFolderList.PageSize);
- DeleteButton.Visible = false;
+ DeleteButton.Visible = true;
break;
}
@@ -381,6 +397,10 @@
rm = Application[ "RM" ] as ResourceManager;
// TopNav.ShowInfo(String.Format("URL: {0}", web.Url));
+ userID = Session[ "UserID" ] as String;
+ grpAccessPolicy = web.GetUserGroupRights(userID, null);
+ uRights = new UserGroupAdminRights(grpAccessPolicy);
+
if ( !IsPostBack )
{
// Initialize the localized fields.
@@ -404,6 +424,8 @@
}
// Set the active ifolder display tab
SetActiveiFolderListTab( ActiveiFolderTab );
+ DeleteButton.Enabled = uRights.DeleteiFolderAllowed;
+
// TopNav.ShowInfo(String.Format("URL: {0}", web.Url));
string code = Thread.CurrentThread.CurrentUICulture.Name;
if (code.StartsWith("pt") || code.StartsWith("de") || code.StartsWith("ru"))
@@ -431,6 +453,7 @@
private void SetActionButtons()
{
Hashtable ht = CheckediFolders;
+
switch(ActiveiFolderTab)
{
case ListDisplayType.Orphaned:
@@ -440,11 +463,11 @@
case ListDisplayType.All:
default:
- DeleteButton.Visible = false;
+ DeleteButton.Visible = true;
break;
}
- //DeleteButton.Enabled = ( ht.Count > 0 ) ? true : false;
+ DeleteButton.Enabled = (ht.Count > 0) ? true : false;
DisableButton.Enabled = ht.ContainsValue( Boolean.FalseString );
EnableButton.Enabled = ht.ContainsValue( Boolean.TrueString );
}
@@ -493,6 +516,36 @@
}
/// <summary>
+ /// Gets iFolder name
+ /// </summary>
+ private string GetiFolderName(string iFolderID)
+ {
+ foreach( DataGridItem item in iFolderList.Items )
+ {
+ string ifolderid = item.Cells[ iFolderIDColumn].Text;
+ if( ifolderid == iFolderID )
+ //FIXME : Magic numbers
+ return item.Cells [12].Text; //iFolder name column.
+ }
+ return null;
+ }
+
+ /// <summary>
+ /// Gets iFolder's owner ID
+ /// </summary>
+ private string GetiFolderOwnerID(string iFolderID)
+ {
+ foreach( DataGridItem item in iFolderList.Items )
+ {
+ string ifolderid = item.Cells[iFolderIDColumn].Text;
+ if( ifolderid == iFolderID )
+ //FIXME : Magic numbers
+ return item.Cells [8].Text; //iFolder ID column.
+ }
+ return null;
+ }
+
+ /// <summary>
/// Sets the ifolder synchronization status on all selected ifolders.
/// </summary>
/// <param name="syncStatus">If true then all selected ifolders will be enabled.</param>
@@ -693,10 +746,30 @@
/// <param name="e"></param>
protected void OnDeleteButton_Click( object source, EventArgs e )
{
+ string skippediFolderNames = "";
foreach( string ifolderID in CheckediFolders.Keys )
{
try
{
+ int rights = GetRightsForiFolder(ifolderID);
+ if (rights == -1 ) rights = 0xffff;
+
+ UserGroupAdminRights adminRights = new UserGroupAdminRights(rights);
+ string ownerID = GetiFolderOwnerID (ifolderID);
+ /*Condition for skipping iFolders for deletion. We allow the owner to
+ delete his own iFolder. */
+ if (userID != ownerID) {
+ if(!adminRights.DeleteiFolderAllowed) {
+ string ifolderName = GetiFolderName (ifolderID);
+ if (skippediFolderNames.Length > 0 ) //Just for adding a comma.
+ skippediFolderNames += ", " + ifolderName;
+ else
+ skippediFolderNames += ifolderName;
+
+ continue;
+ }
+ }
+
string ifolderLocation = web.GetiFolderLocation (ifolderID);
UriBuilder remoteurl = new UriBuilder(ifolderLocation);
remoteurl.Path = (new Uri(web.Url)).PathAndQuery;
@@ -710,6 +783,7 @@
web.Url = currentServerURL;
return;
}
+
}
web.Url = currentServerURL;
@@ -722,6 +796,10 @@
// Rebind the data source with the new data.
GetiFolders();
+
+ //If we have skipped some iFolders, tell the admin.
+ if (skippediFolderNames.Length > 0)
+ TopNav.ShowError(string.Format (GetString ("ERRORCANNOTDELETEIFOLDER"), skippediFolderNames));
}
/// <summary>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <js...@us...> - 2010-05-18 10:48:28
|
Revision: 7366
http://simias.svn.sourceforge.net/simias/?rev=7366&view=rev
Author: jshaju
Date: 2010-05-18 10:48:22 +0000 (Tue, 18 May 2010)
Log Message:
-----------
ID: bug#495427
Reviewer: johnny
Localization Required: Yes
Documentation Required: Yes
Description: Updated the help files to reflect the usage of Allow, Deny, and Delete buttons for file type exclusion
Modified Paths:
--------------
trunk/src/admin/help/en/ifolderdetails.html
trunk/src/admin/help/en/systeminfo.html
trunk/src/admin/help/en/userdetails.html
Property Changed:
----------------
trunk/src/admin/help/en/
Property changes on: trunk/src/admin/help/en
___________________________________________________________________
Added: tsvn:logtemplate
+ ID:
Reviewer:
Localization Required: No
Documentation Required: No
Description:
Modified: trunk/src/admin/help/en/ifolderdetails.html
===================================================================
--- trunk/src/admin/help/en/ifolderdetails.html 2010-05-18 10:02:11 UTC (rev 7365)
+++ trunk/src/admin/help/en/ifolderdetails.html 2010-05-18 10:48:22 UTC (rev 7366)
@@ -499,9 +499,10 @@
<P>To add a file extension to the exclusion filter, type the extension
(such as *.mpg), then click Add to apply the filter. </P>
- <P>To exclude a file type from the restricted file types, select the check
- box adjacent to the File Name, then select the file type and click Delete.</P>
-
+ <P>To exclude a file type from synchronization, select the check box adjacent to the file type in the restricted file type list, then click Deny.</P>
+ <P>To allow a file type to be synchronized, select the check box adjacent to the file type in the restricted file type list, then click Allow.</P>
+ <P>To delete a file type from the restricted file type list, select the check box adjacent to the file type, then click Delete.<br>
+ </P>
<P>Default value: Disabled, Allow all file types or the System-wide settings</P>
</TD></TR>
Modified: trunk/src/admin/help/en/systeminfo.html
===================================================================
--- trunk/src/admin/help/en/systeminfo.html 2010-05-18 10:02:11 UTC (rev 7365)
+++ trunk/src/admin/help/en/systeminfo.html 2010-05-18 10:48:22 UTC (rev 7366)
@@ -333,7 +333,10 @@
<P>Specify whether to restrict file types that are synchronized by exclusion
filters. </P>
<P>Type a file extension, then click Add to add it to the list. </P>
- </TD></TR>
+ <P>To exclude a file type from synchronization, select the check box adjacent to the file type in the restricted file type list, then click Deny.</P>
+ <p>To allow a file type to be synchronized, select the check box adjacent to the file type in the restricted file type list, then click Allow.</p>
+ <p>To delete a file type from the restricted file type list, select the check box adjacent to the file type, then click Delete.<br>
+ </p></TD></TR>
<TR><TD VALIGN="TOP">
<h4> Synchronization </h4>
@@ -591,7 +594,8 @@
shared iFolder members. By default this check box is selected. To deny this
right to the secondary administrator, clear the <i>Allow to modify rights of
shared iFolder members </i>check box.</span></p>
- </TD></TR>
+ <p class="Normal2"><span style="font-size: 11.0pt; font-family: Arial; ">Using
+ the <i>Allow permission to delete iFolders </i>check box, you can assign the secondary administrator the permission to delete iFolders. By default this check box is selected. To deny this permission to the secondary administrator, clear the <em>Allow permission to delete iFolders</em> check box.</span></p></TD></TR>
</TABLE>
Modified: trunk/src/admin/help/en/userdetails.html
===================================================================
--- trunk/src/admin/help/en/userdetails.html 2010-05-18 10:02:11 UTC (rev 7365)
+++ trunk/src/admin/help/en/userdetails.html 2010-05-18 10:48:22 UTC (rev 7366)
@@ -276,9 +276,11 @@
<P>To add a file extension to an inclusion or exclusion filter, type the
extension (such as *.mpg), then click Add to apply the filter. </P>
- <P>To exclude a file type from the restricted file types, select the check
- box adjacent to the file type, then click Allow.</P>
+ <P>To exclude a file type from synchronization, select the check box adjacent to the file type in the restricted file type list, then click Deny.</P>
+ <p>To allow a file type to be synchronized, select the check box adjacent to the file type in the restricted file type list, then click Allow.</p>
+ <p>To delete a file type from the restricted file type list, select the check box adjacent to the file type, then click Delete.<br>
+ </p>
<P>Default value: .DS_Store and Thumbs.db</P>
</TD></TR>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jj...@us...> - 2010-05-18 10:02:18
|
Revision: 7365
http://simias.svn.sourceforge.net/simias/?rev=7365&view=rev
Author: jjohnny
Date: 2010-05-18 10:02:11 +0000 (Tue, 18 May 2010)
Log Message:
-----------
ID: Bug#495427
Reviewers: Anil
Localization Required: No
Documentation Required: Yes
Description: FileType policy control will consistently have 'Allow',
'Deny' and 'Delete' button.
Modified Paths:
--------------
trunk/src/admin/FileTypeFilter.ascx
trunk/src/admin/FileTypeFilter.ascx.cs
Modified: trunk/src/admin/FileTypeFilter.ascx
===================================================================
--- trunk/src/admin/FileTypeFilter.ascx 2010-05-17 18:07:52 UTC (rev 7364)
+++ trunk/src/admin/FileTypeFilter.ascx 2010-05-18 10:02:11 UTC (rev 7365)
@@ -105,21 +105,13 @@
<ifolder:ListFooter ID="FileTypeListFooter" Runat="server" />
- <asp:Button
- ID="DeleteButton"
- Runat="server"
- CssClass="filetypecontrolbutton"
- Enabled="False"
- OnClick="OnDeleteFileType"
- Visible="False" />
-
<asp:Button
ID="AllowButton"
Runat="server"
CssClass="filetypecontrolbutton"
Enabled="False"
OnClick="OnAllowFileType"
- Visible="False" />
+ Visible="True" />
<asp:Button
ID="DenyButton"
@@ -127,7 +119,15 @@
CssClass="filetypecontrolbutton"
Enabled="False"
OnClick="OnDenyFileType"
- Visible="False" />
+ Visible="True" />
+
+ <asp:Button
+ ID="DeleteButton"
+ Runat="server"
+ CssClass="filetypecontrolbutton"
+ Enabled="False"
+ OnClick="OnDeleteFileType"
+ Visible="True" />
</div>
Modified: trunk/src/admin/FileTypeFilter.ascx.cs
===================================================================
--- trunk/src/admin/FileTypeFilter.ascx.cs 2010-05-17 18:07:52 UTC (rev 7364)
+++ trunk/src/admin/FileTypeFilter.ascx.cs 2010-05-18 10:02:11 UTC (rev 7365)
@@ -493,15 +493,9 @@
// See if there are any checked members.
bool hasEntries = allCheckBox.Checked ? true : HasCheckedEntries;
- if ( DeleteButton.Visible )
- {
- DeleteButton.Enabled = hasEntries;
- }
- else
- {
- AllowButton.Enabled = HasDisallowedEntries && hasEntries;
- DenyButton.Enabled = HasAllowedEntries && hasEntries;
- }
+ DeleteButton.Enabled = hasEntries;
+ AllowButton.Enabled = HasDisallowedEntries && hasEntries;
+ DenyButton.Enabled = HasAllowedEntries && hasEntries;
}
/// <summary>
@@ -675,15 +669,9 @@
fti.IsChecked = checkBox.Checked;
bool hasEntries = checkBox.Checked ? true : HasCheckedEntries;
- if ( DeleteButton.Visible )
- {
- DeleteButton.Enabled = hasEntries;
- }
- else
- {
- AllowButton.Enabled = HasDisallowedEntries && hasEntries;
- DenyButton.Enabled = HasAllowedEntries && hasEntries;
- }
+ DeleteButton.Enabled = hasEntries;
+ AllowButton.Enabled = HasDisallowedEntries && hasEntries;
+ DenyButton.Enabled = HasAllowedEntries && hasEntries;
}
}
}
@@ -783,10 +771,9 @@
/// <param name="policy">User policy.</param>
public void GetFileTypePolicy( UserPolicy policy )
{
- // Show the proper control buttons.
- AllowButton.Visible = DenyButton.Visible = true;
-
+ // Show new file type controls
NewFileTypeName.Visible = AddButton.Visible = true;
+
// Create a list from the file type policy.
FileTypeSource = CreateFileTypeSource( policy );
@@ -802,8 +789,8 @@
/// <param name="policy">iFolder policy.</param>
public void GetFileTypePolicy( iFolderPolicy policy )
{
- // Enable the add/delete controls.
- NewFileTypeName.Visible = AddButton.Visible = DeleteButton.Visible = true;
+ // Show new file type controls
+ NewFileTypeName.Visible = AddButton.Visible = true;
// Create a list from the file type policy.
FileTypeSource = CreateFileTypeSource( policy );
@@ -820,8 +807,8 @@
/// <param name="policy">System policy.</param>
public void GetFileTypePolicy( SystemPolicy policy )
{
- // Enable the add/delete controls.
- NewFileTypeName.Visible = AddButton.Visible = DeleteButton.Visible = true;
+ // Show new file type controls
+ NewFileTypeName.Visible = AddButton.Visible = true;
// Create a list from the file type policy.
FileTypeSource = CreateFileTypeSource( policy );
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jj...@us...> - 2010-05-17 18:07:59
|
Revision: 7364
http://simias.svn.sourceforge.net/simias/?rev=7364&view=rev
Author: jjohnny
Date: 2010-05-17 18:07:52 +0000 (Mon, 17 May 2010)
Log Message:
-----------
ID: Bug #539895
Reviewers: Bipin, Srinidhi
Localization Required: No
Documentation Required: No
Description: Install man page using man_MANS. Removed from clean list.
Modified Paths:
--------------
trunk/configure.in
trunk/package/linux/ifolder3-enterprise.spec.autobuild
trunk/src/utils/restore/Makefile.am
Modified: trunk/configure.in
===================================================================
--- trunk/configure.in 2010-05-17 15:43:29 UTC (rev 7363)
+++ trunk/configure.in 2010-05-17 18:07:52 UTC (rev 7364)
@@ -136,7 +136,7 @@
test $includedir = '${prefix}/include' && includedir="${prefix}/include"
test $oldincludedir = '/usr/include' && oldincludedir="/usr/include"
test $infodir = '${prefix}/info' && infodir="${prefix}/info"
-test $mandir = '${prefix}/man' && mandir="${prefix}/man"
+test $mandir = '${prefix}/man' && mandir="${datadir}/man"
if test -z "$PKG_CONFIG_PATH"; then
Modified: trunk/package/linux/ifolder3-enterprise.spec.autobuild
===================================================================
--- trunk/package/linux/ifolder3-enterprise.spec.autobuild 2010-05-17 15:43:29 UTC (rev 7363)
+++ trunk/package/linux/ifolder3-enterprise.spec.autobuild 2010-05-17 18:07:52 UTC (rev 7364)
@@ -21,6 +21,7 @@
BuildRequires: compat-libstdc++ e2fsprogs e2fsprogs-devel gcc-c++ glib2 glib2-devel libflaim libflaim-devel libstdc++ libstdc++-devel libxml2 libxml2-devel log4net novell-ifolder-mono novell-ifolder-mono-devel novell-NLDAPbase novell-NLDAPsdk-devel pkgconfig
%define buildnum @@BUILDNUM@@
+%define novellmandir /opt/novell/man/
Url: http://wwww.ifolder.com
%define prefix /opt/novell/ifolder3
%define novell_lib /opt/novell/%_lib
@@ -60,7 +61,7 @@
export LIBDIR=%_lib
[ -f %{prefix}/mono/bin/novell-ifolder-mono-environment.sh ] && \
source %{prefix}/mono/bin/novell-ifolder-mono-environment.sh
-./autogen.sh --prefix=%{prefix} #--with-runasclient
+./autogen.sh --prefix=%{prefix} --mandir=%{novellmandir} #--with-runasclient
make
#make dist
#=============================================================================
@@ -185,7 +186,7 @@
%{prefix}/etc/simias/defaults.config
%{prefix}/etc/novell-ifolder3.conf
/etc/ld.so.conf.d/novell-ifolder3.conf
-/usr/share/man/man8/ifolder-data-recovery.8.gz
+%{novellmandir}/man8/ifolder-data-recovery.8
%changelog
* Fri May 02 2008 - sri...@no...
Modified: trunk/src/utils/restore/Makefile.am
===================================================================
--- trunk/src/utils/restore/Makefile.am 2010-05-17 15:43:29 UTC (rev 7363)
+++ trunk/src/utils/restore/Makefile.am 2010-05-17 18:07:52 UTC (rev 7364)
@@ -11,8 +11,10 @@
ifrecovery_LIBPATH=../../core/SimiasClient/ ../../server/DiscoveryWS/ ../../core/WebService/ ../../core/SimiasLib.dll/ ../../webservices
-EXTRA_DIST = ifrecovery.exe $(ifrecovery_CSFILES) AssemblyInfo.cs.in ifolder-data-recovery
+dist_man_MANS=ifolder-data-recovery.8
+EXTRA_DIST = ifrecovery.exe $(ifrecovery_CSFILES) AssemblyInfo.cs.in
+
AssemblyInfo.cs: $(srcdir)/AssemblyInfo.cs.in Makefile
sed -e 's,@_VERSION_@,@VERSION@,g' $< > $@
chmod +x $@
@@ -26,20 +28,17 @@
ifrecovery.exe: $(ifrecovery_CSFILES) $(ifrecovery_RESOURCES) AssemblyInfo.cs
$(CSC) /out:$@ $(CSCFLAGS) $(SIMIAS_WEBSERVICE_LIBS) $(ifrecovery_LIBS:%=/r:%) $(ifrecovery_LIBPATH:%=/lib:%) $(ifrecovery_RESOURCES:%=$(ICON_FLAG)%) $(ifrecovery_CSFILES_CSC)
-install-exec-local: ifrecovery.exe ifolder-data-recovery
+install-exec-local: ifrecovery.exe ifolder-data-recovery
$(mkinstalldirs) $(DESTDIR)$(bindir)
$(INSTALL_PROGRAM) ifrecovery.exe $(DESTDIR)$(bindir)
$(INSTALL_PROGRAM) ifolder-data-recovery $(DESTDIR)$(bindir)
- $(mkinstalldirs) $(DESTDIR)/usr/share/man/man8
- $(INSTALL_PROGRAM) ifolder-data-recovery.8 $(DESTDIR)/usr/share/man/man8/
uninstall-local:
cd $(DESTDIR)$(bindir); rm -f ifrecovery.exe ifolder-data-recovery
- cd $(DESTDIR)/usr/share/man/man8;rm -f ifolder-data-recovery.8
installcheck-local: install
-CLEAN_FILES = ifrecovery.exe ifolder-data-recovery ifolder-data-recovery.8
+CLEAN_FILES = ifrecovery.exe ifolder-data-recovery
clean-local:
rm -rf $(CLEAN_FILES) $(COMMON_CLEAN_FILES)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ra...@us...> - 2010-05-17 15:43:37
|
Revision: 7363
http://simias.svn.sourceforge.net/simias/?rev=7363&view=rev
Author: ravim85
Date: 2010-05-17 15:43:29 +0000 (Mon, 17 May 2010)
Log Message:
-----------
Unlocalized strings in ServerDetails tab. Date Time of ldapsync is also
localized based on current culture. Fixed few warnings.
Modified Paths:
--------------
trunk/src/admin/Global.asax.cs
trunk/src/admin/ServerDetails.aspx.cs
trunk/src/admin/iFolderAdmin.resx
trunk/src/webservices/SyncServiceInfo.cs
Modified: trunk/src/admin/Global.asax.cs
===================================================================
--- trunk/src/admin/Global.asax.cs 2010-05-12 12:53:27 UTC (rev 7362)
+++ trunk/src/admin/Global.asax.cs 2010-05-17 15:43:29 UTC (rev 7363)
@@ -275,7 +275,7 @@
bool result = false;
if ( ( certificateProblem == 0 ) || CertificateProblem.CertEXPIRED.Equals( certificateProblem ) ||
- ( ( certificate != null ) && ( certificate.GetIssuerName().Equals( (new X509Certificate(Convert.FromBase64String(certificateString)).GetIssuerName() ) ) ) ))
+ ( ( certificate != null ) && ( certificate.Issuer.Equals( (new X509Certificate(Convert.FromBase64String(certificateString)).Issuer ) ) ) ))
{
result = true;
}
Modified: trunk/src/admin/ServerDetails.aspx.cs
===================================================================
--- trunk/src/admin/ServerDetails.aspx.cs 2010-05-12 12:53:27 UTC (rev 7362)
+++ trunk/src/admin/ServerDetails.aspx.cs 2010-05-17 15:43:29 UTC (rev 7363)
@@ -487,7 +487,7 @@
}
if (files == null || files.Length == 0) {
- reports.Add ("N/A");
+ reports.Add (GetString("NOTAPPLICABLE"));
ReportList.Enabled = false;
ViewReportButton.Enabled = false;
}
@@ -551,11 +551,11 @@
redirectUrl = server.PublicUrl;
serverStatus = true;
- Status.Text = "Online";
- LdapStatus.Text = "N/A";
- iFolderCount.Text = "N/A";
- DnsName.Text = "N/A";
- UserCount.Text = "N/A";
+ Status.Text = GetString("ONLINE");
+ LdapStatus.Text = GetString("NOTAPPLICABLE");
+ iFolderCount.Text = GetString("NOTAPPLICABLE");
+ DnsName.Text = GetString("NOTAPPLICABLE");
+ UserCount.Text = GetString("NOTAPPLICABLE");
Name.Text = server.Name;
//KLUDGE: for SSL enabling the server. Case: When the server is SSL enabled and the Web Admin is not configured for Server SSL
@@ -603,7 +603,7 @@
{
// TopNav.ShowInfo (String.Format("WebException-noproto {0} {1}", ex1.Status, remoteweb.Url));
remoteweb = web;
- Status.Text = "<font color=red><b>Offline</b></font>";
+ Status.Text = String.Format("<font color=red><b>" + GetString("OFFLINE") + "</b></font>");
serverStatus = false;
TopNav.ShowInfo (String.Format ("Unable to reach {0}. Displaying minimal information", Name.Text));
}
@@ -613,7 +613,7 @@
{
remoteweb = web;
// TopNav.ShowInfo (String.Format("WebException- {0} {1}", ex.Status, remoteweb.Url));
- Status.Text = "<font color=red><b>Offline</b></font>";
+ Status.Text = String.Format("<font color=red><b>" + GetString("OFFLINE") + "</b></font>");
serverStatus = false;
}
}
@@ -621,7 +621,7 @@
catch
{
remoteweb = web;
- Status.Text = "<font color=red><b>Offline</b></font>";
+ Status.Text = String.Format("<font color=red><b>" + GetString("OFFLINE") + "</b></font>");
serverStatus = false;
// TopNav.ShowInfo (String.Format("Exception- {0} {1}", e.Message, remoteweb.Url));
return server.Name;
@@ -636,12 +636,12 @@
iFolderSet ifolders = remoteweb.GetiFolders( iFolderType.All, 0, 1 );
iFolderCount.Text = ifolders.Total.ToString();
-// LdapStatus.Text = remoteweb.IdentitySyncGetServiceInfo ().Status;
+// LdapStatus.Text = GetString(remoteweb.IdentitySyncGetServiceInfo ().Status);
}
catch
{
//Some information failed: Does it mean the Server is not Stable ???
- Status.Text = "<font color=red><b>Online</b></font>";
+ Status.Text = String.Format("<font color=red><b>" + GetString("ONLINE") + "</b></font>");
}
Name.Text = Details.FormatInputString(server.Name, NewLineAt);
Type.Text = GetString( server.IsMaster ? "MASTER" : "SLAVE" );
@@ -737,9 +737,9 @@
{
//Pick the information from SyncService
SyncServiceInfo syncInfo = remoteweb.IdentitySyncGetServiceInfo();
- LdapUpSince.Text = syncInfo.UpSince;
+ LdapUpSince.Text = syncInfo.UpSince.ToString("F",Thread.CurrentThread.CurrentUICulture);
LdapCycles.Text = syncInfo.Cycles.ToString();
- LdapStatus.Text = syncInfo.Status;
+ LdapStatus.Text = GetString(syncInfo.Status);
LdapDeleteGraceInterval.Text = ( syncInfo.DeleteMemberGracePeriod / 60).ToString();
IDSyncInterval.Text = (syncInfo.SynchronizationInterval / 60).ToString();
@@ -1487,8 +1487,7 @@
bool currentMasterUpdateComplete = false,
newMasterUpdateComplete = false,
slaveUpdateComplete = false;
- string HostID = null,
- newServerPublicUrl = null;
+ string newServerPublicUrl = null;
iFolderServer mServer = null,
newmServer=null;
Modified: trunk/src/admin/iFolderAdmin.resx
===================================================================
--- trunk/src/admin/iFolderAdmin.resx 2010-05-12 12:53:27 UTC (rev 7362)
+++ trunk/src/admin/iFolderAdmin.resx 2010-05-17 15:43:29 UTC (rev 7363)
@@ -1311,5 +1311,20 @@
<data name="CHANGEMASTERRETRY">
<value>Unable to update master node attribute on Master and slave. Retry the operation.</value>
</data>
+ <data name="running">
+ <value>running</value>
+ </data>
+ <data name="sleeping">
+ <value>sleeping</value>
+ </data>
+ <data name="disabled">
+ <value>disabled</value>
+ </data>
+ <data name="shutdown">
+ <value>shutdown</value>
+ </data>
+ <data name="waiting">
+ <value>waiting</value>
+ </data>
</data>
</root>
Modified: trunk/src/webservices/SyncServiceInfo.cs
===================================================================
--- trunk/src/webservices/SyncServiceInfo.cs 2010-05-12 12:53:27 UTC (rev 7362)
+++ trunk/src/webservices/SyncServiceInfo.cs 2010-05-17 15:43:29 UTC (rev 7363)
@@ -70,7 +70,7 @@
/// started.
/// RFC 822 format
/// </summary>
- public string UpSince;
+ public DateTime UpSince;
/// <summary>
/// Number of cycles the engine performed
@@ -106,6 +106,7 @@
/// "sleeping"
/// "disabled"
/// "shutdown"
+ /// "waiting"
/// </summary>
public string Status;
@@ -143,16 +144,7 @@
MethodInfo SynchronizationDetailsNow=type.GetMethod(SynchronizationDetailsMethod, BindingFlags.Public | BindingFlags.Static );
SyncDetails=(SynchronizationDetailsMethod) Delegate.CreateDelegate( typeof(SynchronizationDetailsMethod), SynchronizationDetailsNow);
UpSince = DateTime.Parse(SyncDetails( (int) sync.UpDateTime));
- info.UpSince =
- String.Format(
- "{0}, {1} {2} {3} {4}:{5}:{6} GMT",
- UpSince.DayOfWeek.ToString(),
- UpSince.Day,
- LastSyncInfo.MonthsOfYear[ UpSince.Month - 1 ],
- UpSince.Year.ToString(),
- UpSince.Hour,
- UpSince.Minute,
- UpSince.Second );
+ info.UpSince = UpSince;
info.Cycles = Convert.ToInt32(SyncDetails((int) sync.SyncCycles));
@@ -173,16 +165,7 @@
else
{
- info.UpSince =
- String.Format(
- "{0}, {1} {2} {3} {4}:{5}:{6} GMT",
- Service.UpSince.DayOfWeek.ToString(),
- Service.UpSince.Day,
- LastSyncInfo.MonthsOfYear[ Service.UpSince.Month - 1 ],
- Service.UpSince.Year.ToString(),
- Service.UpSince.Hour,
- Service.UpSince.Minute,
- Service.UpSince.Second );
+ info.UpSince = Service.UpSince;
info.Cycles = Service.Cycles;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ra...@us...> - 2010-05-12 12:53:36
|
Revision: 7362
http://simias.svn.sourceforge.net/simias/?rev=7362&view=rev
Author: ravim85
Date: 2010-05-12 12:53:27 +0000 (Wed, 12 May 2010)
Log Message:
-----------
Restart message on linux client install is also logged to the
upgrade.log
Fixed few warnings in code
Modified Paths:
--------------
trunk/src/server/Simias.ClientUpdate/ClientUpdate.asmx.cs
trunk/src/server/Simias.ClientUpdate/install-ifolder-script.sh
Modified: trunk/src/server/Simias.ClientUpdate/ClientUpdate.asmx.cs
===================================================================
--- trunk/src/server/Simias.ClientUpdate/ClientUpdate.asmx.cs 2010-05-12 05:25:28 UTC (rev 7361)
+++ trunk/src/server/Simias.ClientUpdate/ClientUpdate.asmx.cs 2010-05-12 12:53:27 UTC (rev 7362)
@@ -377,10 +377,6 @@
string[] fileList = null;
try
{
- // Make sure that there is a version to look for.
- string versionString = Session[ VersionString ] as string;
- // if ( versionString != null )
- // {
// Get the file list for the specified version.
string platform = Session[ PlatformType ] as string;
if ( platform.Equals("Darwin") )
@@ -407,7 +403,6 @@
{
fileList = GetDistributionFileList( Session[ PlatformType ] as string );
}
- // }
}
catch ( Exception ex )
@@ -432,10 +427,6 @@
string[] fileList = null;
try
{
- // Make sure that there is a version to look for.
- string versionString = Session[ VersionString ] as string;
- // if ( versionString != null )
- // {
// Get the file list for the specified version.
string platform = Session[ PlatformType ] as string;
if ( platform.Equals("Darwin") )
@@ -462,7 +453,6 @@
{
fileList = GetDistributionFileList( Session[ PlatformType ] as string );
}
- // }
}
catch ( Exception ex )
@@ -897,7 +887,6 @@
public StatusCodes CheckForUpdate( string platform, string currentVersion, out string serverVersion )
{
StatusCodes stat = (StatusCodes)StatusCodes.Unknown;
- string updateVersion = null;
serverVersion = null;
try
{
@@ -1008,7 +997,6 @@
public StatusCodes CheckForUpdateSoapDocMethod( string platform, string currentVersion, out string serverVersion )
{
StatusCodes stat = (StatusCodes)StatusCodes.Unknown;
- string updateVersion = null;
serverVersion = null;
try
{
Modified: trunk/src/server/Simias.ClientUpdate/install-ifolder-script.sh
===================================================================
--- trunk/src/server/Simias.ClientUpdate/install-ifolder-script.sh 2010-05-12 05:25:28 UTC (rev 7361)
+++ trunk/src/server/Simias.ClientUpdate/install-ifolder-script.sh 2010-05-12 12:53:27 UTC (rev 7362)
@@ -87,4 +87,5 @@
sleep 5
echo "Successfully installed iFolder."
echo "Restart the system before you start using iFolder"
+echo "Restart the system before you start using iFolder" >> $HOME/.local/share/simias/upgrade.log
exit
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mv...@us...> - 2010-05-12 05:25:34
|
Revision: 7361
http://simias.svn.sourceforge.net/simias/?rev=7361&view=rev
Author: mvikash
Date: 2010-05-12 05:25:28 +0000 (Wed, 12 May 2010)
Log Message:
-----------
changes are done to handle ifolder limit policy voilation in Multi
server environment.
Modified Paths:
--------------
trunk/src/webservices/iFolderUserDetails.cs
Modified: trunk/src/webservices/iFolderUserDetails.cs
===================================================================
--- trunk/src/webservices/iFolderUserDetails.cs 2010-05-12 05:22:35 UTC (rev 7360)
+++ trunk/src/webservices/iFolderUserDetails.cs 2010-05-12 05:25:28 UTC (rev 7361)
@@ -37,6 +37,7 @@
using Simias.Client;
using Simias.Storage;
using Simias.Web;
+using Simias.Server;
namespace iFolder.WebService
{
@@ -127,12 +128,12 @@
if ( member.HomeServer != null )
- this.DetailHomeServer = (member.HomeServer.Name == null ) ? string.Empty : member.HomeServer.Name;
- else
- this.DetailHomeServer = string.Empty;
- int state = member.UserMoveState;
- switch(state)
- {
+ this.DetailHomeServer = (member.HomeServer.Name == null ) ? string.Empty : member.HomeServer.Name;
+ else
+ this.DetailHomeServer = string.Empty;
+ int state = member.UserMoveState;
+ switch(state)
+ {
case (int)Member.userMoveStates.Nousermove:
case (int)Member.userMoveStates.Initialized:
DetailDataMoveStatus = "Initializing";
@@ -158,40 +159,40 @@
DetailDataMovePercentage = 0;
DetailDataMoveStatus = "Initializing";
break;
- }
+ }
if( state < (int)Member.userMoveStates.DataMoveStarted)
DetailDataMovePercentage += 0;
else if( state > (int)Member.userMoveStates.DataMoveStarted)
DetailDataMovePercentage += 80;
else
- {
- Store stored = Store.GetStore();
- long SpaceUsed = 0;
- long DataTransferred = 1;
- int iFolderMoveState = 0;
- ICSList collectionList = stored.GetCollectionsByOwner( member.UserID, domain.ID );
- foreach ( ShallowNode sn in collectionList )
- {
- Collection iFolderCol = new Collection( stored, sn );
- SpaceUsed += iFolderCol.StorageSize;
- iFolderMoveState = member.iFolderMoveState(domain.ID, false, iFolderCol.ID, 0, 0);
- if(iFolderMoveState > 1 )
- {
- DataTransferred += iFolderCol.StorageSize;
- }
- }
- if(SpaceUsed != 0)
- DetailDataMovePercentage += (int)(( 80 * DataTransferred ) / SpaceUsed );
- else
- DetailDataMovePercentage += 80;
+ {
+ Store stored = Store.GetStore();
+ long SpaceUsed = 0;
+ long DataTransferred = 1;
+ int iFolderMoveState = 0;
+ ICSList collectionList = stored.GetCollectionsByOwner( member.UserID, domain.ID );
+ foreach ( ShallowNode sn in collectionList )
+ {
+ Collection iFolderCol = new Collection( stored, sn );
+ SpaceUsed += iFolderCol.StorageSize;
+ iFolderMoveState = member.iFolderMoveState(domain.ID, false, iFolderCol.ID, 0, 0);
+ if(iFolderMoveState > 1 )
+ {
+ DataTransferred += iFolderCol.StorageSize;
+ }
+ }
+ if(SpaceUsed != 0)
+ DetailDataMovePercentage += (int)(( 80 * DataTransferred ) / SpaceUsed );
+ else
+ DetailDataMovePercentage += 80;
}
if ( member.NewHomeServer != null )
{
- HostNode newHomeNode = HostNode.GetHostByID(domain.ID, member.NewHomeServer);
- if(newHomeNode != null)
- this.DetailNewHomeServer = (newHomeNode.Name == null ) ? string.Empty : newHomeNode.Name;
- else
- this.DetailNewHomeServer = string.Empty;
+ HostNode newHomeNode = HostNode.GetHostByID(domain.ID, member.NewHomeServer);
+ if(newHomeNode != null)
+ this.DetailNewHomeServer = (newHomeNode.Name == null ) ? string.Empty : newHomeNode.Name;
+ else
+ this.DetailNewHomeServer = string.Empty;
}
else
this.DetailNewHomeServer = string.Empty;
@@ -251,23 +252,16 @@
}
// Get the number of iFolders owned and shared by the user.
- Store store = Store.GetStore();
- ICSList ifList = store.GetCollectionsByUser(this.ID);
- foreach ( ShallowNode sn in ifList )
+ CatalogEntry[] catalogEntries;
+ catalogEntries = Catalog.GetAllEntriesByUserID(this.ID);
+ foreach(CatalogEntry ce in catalogEntries)
{
- Collection c = new Collection( store, sn );
- if ( c.IsType( "iFolder" ) )
- {
- if ( c.Owner.UserID == this.ID )
- {
- ++OwnediFolderCount;
- }
- else
- {
- ++SharediFolderCount;
- }
- }
- }
+ if(ce.OwnerID == this.ID)
+ ++OwnediFolderCount;
+ else
+ ++SharediFolderCount;
+ }
+
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <sb...@us...> - 2010-05-12 05:22:41
|
Revision: 7360
http://simias.svn.sourceforge.net/simias/?rev=7360&view=rev
Author: sbipin
Date: 2010-05-12 05:22:35 +0000 (Wed, 12 May 2010)
Log Message:
-----------
ID: #0000
Reviewer: Self
Localization Required: No
Documentation Required: No
Description: Submission done for May 2010 patch.
Added Paths:
-----------
tags/iFolder_3.8.0_may2010_patch/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jj...@us...> - 2010-05-10 10:46:06
|
Revision: 7359
http://simias.svn.sourceforge.net/simias/?rev=7359&view=rev
Author: jjohnny
Date: 2010-05-10 10:46:00 +0000 (Mon, 10 May 2010)
Log Message:
-----------
ID: Bug #541317
Reviewers: Ramesh
Localization Required: No
Documentation Required: No
Description: Modifications of ReadOnly, shared, iFolders are not poping messages from client
Removed code that adds extra nodes to workarray when the ifolder is readonly. It was causing a false conflict.
Modified Paths:
--------------
trunk/src/core/Sync/SyncClient.cs
Modified: trunk/src/core/Sync/SyncClient.cs
===================================================================
--- trunk/src/core/Sync/SyncClient.cs 2010-05-07 11:24:44 UTC (rev 7358)
+++ trunk/src/core/Sync/SyncClient.cs 2010-05-10 10:46:00 UTC (rev 7359)
@@ -3102,48 +3102,40 @@
/// <param name="stamp">The SyncNodeStamp describing this node.</param>
internal void AddNodeToServer(SyncNodeInfo stamp)
{
+ //Nodes have changed.
if (stamp.MasterIncarnation != stamp.LocalIncarnation)
{
if (rights == Access.Rights.ReadOnly)
{
- // If this node exists on the server.
- if (stamp.MasterIncarnation != 0)
+ // If there is a change, by policy we don't sync
+ // if it is a newly created node or a existing file
+ // So just emit a event for client
+ Node tNode = collection.GetNodeByID(stamp.ID);
+ if (tNode != null)
{
- // We need to get this node from the server.
- stamp.Operation = SyncOperation.Change;
- stamp.LocalIncarnation = stamp.MasterIncarnation + 1;
- AddNodeFromServer(stamp);
- }
- else
- {
- Node tNode = collection.GetNodeByID(stamp.ID);
- if (tNode != null)
+ if (stamp.Operation == SyncOperation.Delete)
{
-
- if (stamp.Operation == SyncOperation.Delete)
+ // Since this is a delete just delete the tombstone.
+ collection.Delete(tNode);
+ collection.Commit(tNode);
+ }
+ else
+ {
+ ObjectType type;
+ switch (stamp.NodeType)
{
- // Since this is a delete just delete the tombstone.
- collection.Delete(tNode);
- collection.Commit(tNode);
+ case SyncNodeType.Directory:
+ type = ObjectType.Directory;
+ break;
+ case SyncNodeType.File:
+ type = ObjectType.File;
+ break;
+ default:
+ type = ObjectType.Unknown;
+ break;
}
- else
- {
- ObjectType type;
- switch (stamp.NodeType)
- {
- case SyncNodeType.Directory:
- type = ObjectType.Directory;
- break;
- case SyncNodeType.File:
- type = ObjectType.File;
- break;
- default:
- type = ObjectType.Unknown;
- break;
- }
- eventPublisher.RaiseEvent(new FileSyncEventArgs(collection.ID, type, false, tNode.Name, 0, 0, 0, Direction.Uploading, SyncStatus.ReadOnly));
- Log.log.Debug("Failed Uploading Node (ReadOnly rights)");
- }
+ eventPublisher.RaiseEvent(new FileSyncEventArgs(collection.ID, type, false, tNode.Name, 0, 0, 0, Direction.Uploading, SyncStatus.ReadOnly));
+ Log.log.Debug("Failed Uploading Node (ReadOnly rights)");
}
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <he...@us...> - 2010-05-07 11:24:52
|
Revision: 7358
http://simias.svn.sourceforge.net/simias/?rev=7358&view=rev
Author: hegdegg
Date: 2010-05-07 11:24:44 +0000 (Fri, 07 May 2010)
Log Message:
-----------
Setting the culture code in the begining so that even the error messages
can take the correct language code and display messages in respective
languages.
Modified Paths:
--------------
trunk/src/admin/Login.aspx.cs
Modified: trunk/src/admin/Login.aspx.cs
===================================================================
--- trunk/src/admin/Login.aspx.cs 2010-05-05 15:11:26 UTC (rev 7357)
+++ trunk/src/admin/Login.aspx.cs 2010-05-07 11:24:44 UTC (rev 7358)
@@ -426,6 +426,41 @@
// cookies
web.CookieContainer = new CookieContainer();
+ // in only one path this value will persist, that is when language cookie is null
+ Session["Language"] = "en";
+ string code = Session["Language"] as string;
+ // ui language
+ if (LanguageList.SelectedValue == null || LanguageList.SelectedValue == String.Empty)
+ {
+ /// Case when single sign on happens without the login page so no language selected
+
+ if((Request.UserLanguages != null ) && (Request.UserLanguages.Length > 0))
+ {
+ code = Request.UserLanguages[0];
+ if(!( code.StartsWith("zh") || code.StartsWith("pt") ))
+ code = code.Substring(0,2);
+ else
+ {
+ // On Single sign-on Browser sends language as zh-cn,zh-tw and pt-br .
+ // Help files are placed in a folder with names zh-CN,zh-TW and pt-BR .
+ if( code == "zh-cn" )
+ code = "zh-CN";
+ else if( code == "zh-tw" )
+ code = "zh-TW";
+ else if( code == "pt-br" )
+ code = "pt-BR";
+ }
+ Session["Language"] = code;
+ }
+ }
+ else
+ {
+ /// Normal login so select from the list
+ Session["Language"] = LanguageList.SelectedValue;
+ code = Session["Language"] as string;
+ }
+ Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture(code);
+ log.Info(Context, "Current culture :{0}", Thread.CurrentThread.CurrentUICulture.Name);
// user and system
iFolderUser user = null;
try
@@ -445,7 +480,6 @@
throw ex;
}
}
-
iFolderSystem system = web.GetSystem();
Session["System"] = system.Name;
iFolderServer server = web.GetHomeServer();
@@ -464,39 +498,7 @@
Session["Name"] = user.FullName;
Session["UserID"] = user.ID;
- // in only one path this value will persist, that is when language cookie is null
- Session["Language"] = "en";
- string code = Session["Language"] as string;
- // ui language
- if (LanguageList.SelectedValue == null || LanguageList.SelectedValue == String.Empty)
- {
- /// Case when single sign on happens without the login page so no language selected
- if((Request.UserLanguages != null ) && (Request.UserLanguages.Length > 0))
- {
- code = Request.UserLanguages[0];
- if(!( code.StartsWith("zh") || code.StartsWith("pt") ))
- code = code.Substring(0,2);
- else
- {
- // On Single sign-on Browser sends language as zh-cn,zh-tw and pt-br . Help files are placed in a folder with names zh-CN,zh-TW and pt-BR .
- if( code == "zh-cn" )
- code = "zh-CN";
- else if( code == "zh-tw" )
- code = "zh-TW";
- else if( code == "pt-br" )
- code = "pt-BR";
- }
- Session["Language"] = code;
- }
- }
- else
- {
- /// Normal login so select from the list
- Session["Language"] = LanguageList.SelectedValue;
- code = Session["Language"] as string;
- }
-
// add server information to the session.
Session["HostName"] = server.HostName;
Session["MachineName"] = server.MachineName;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <he...@us...> - 2010-05-05 14:10:45
|
Revision: 7356
http://simias.svn.sourceforge.net/simias/?rev=7356&view=rev
Author: hegdegg
Date: 2010-05-05 14:10:11 +0000 (Wed, 05 May 2010)
Log Message:
-----------
Updated the button width for German Russan and Portuguese in iFolder
page..
Modified Paths:
--------------
trunk/src/admin/iFolders.aspx.cs
Modified: trunk/src/admin/iFolders.aspx.cs
===================================================================
--- trunk/src/admin/iFolders.aspx.cs 2010-05-05 14:07:17 UTC (rev 7355)
+++ trunk/src/admin/iFolders.aspx.cs 2010-05-05 14:10:11 UTC (rev 7356)
@@ -38,6 +38,7 @@
using System.Data;
using System.Drawing;
using System.Resources;
+using System.Threading;
using System.Web;
using System.Web.SessionState;
using System.Web.Services.Protocols;
@@ -404,6 +405,12 @@
// Set the active ifolder display tab
SetActiveiFolderListTab( ActiveiFolderTab );
// TopNav.ShowInfo(String.Format("URL: {0}", web.Url));
+ string code = Thread.CurrentThread.CurrentUICulture.Name;
+ if (code.StartsWith("pt") || code.StartsWith("de") || code.StartsWith("ru"))
+ {
+ DisableButton.Width = 120;
+ EnableButton.Width = 120;
+ }
}
/// <summary>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <he...@us...> - 2010-05-05 14:07:23
|
Revision: 7355
http://simias.svn.sourceforge.net/simias/?rev=7355&view=rev
Author: hegdegg
Date: 2010-05-05 14:07:17 +0000 (Wed, 05 May 2010)
Log Message:
-----------
Updated the size of buttons in user page for German and Portugese.
Modified Paths:
--------------
trunk/src/admin/Users.aspx.cs
Modified: trunk/src/admin/Users.aspx.cs
===================================================================
--- trunk/src/admin/Users.aspx.cs 2010-05-05 13:26:26 UTC (rev 7354)
+++ trunk/src/admin/Users.aspx.cs 2010-05-05 14:07:17 UTC (rev 7355)
@@ -352,6 +352,8 @@
ProvisionButton.Width = 250;
else if ( code.StartsWith("pl") )
ProvisionButton.Width = 180;
+ else if (code.StartsWith("pt") || code.StartsWith("de"))
+ DisableButton.Width = 120;
}
/// <summary>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <he...@us...> - 2010-05-05 13:26:32
|
Revision: 7354
http://simias.svn.sourceforge.net/simias/?rev=7354&view=rev
Author: hegdegg
Date: 2010-05-05 13:26:26 +0000 (Wed, 05 May 2010)
Log Message:
-----------
FormatDate is updated to get the date in running locale.
Modified Paths:
--------------
trunk/src/webaccess/WebUtility.cs
Modified: trunk/src/webaccess/WebUtility.cs
===================================================================
--- trunk/src/webaccess/WebUtility.cs 2010-05-05 12:46:22 UTC (rev 7353)
+++ trunk/src/webaccess/WebUtility.cs 2010-05-05 13:26:26 UTC (rev 7354)
@@ -36,7 +36,9 @@
using System.Xml;
using System.Net;
using System.Web.Services.Protocols;
+using System.Globalization;
using System.Resources;
+using System.Threading;
namespace Novell.iFolderApp.Web
{
@@ -276,10 +278,12 @@
/// <returns></returns>
public static string FormatDate(DateTime date, ResourceManager rm)
{
+ string code = Thread.CurrentThread.CurrentUICulture.Name;
+ CultureInfo ci = new CultureInfo(code);
+
string result = date.ToString("d MMM yyyy");
DateTime today = DateTime.Today;
-
if (date.Year == today.Year)
{
result = date.ToString("d MMM");
@@ -295,8 +299,15 @@
result = WebUtility.GetString("YESTERDAY", rm);
}
}
+ else
+ {
+ result = date.ToString("d MMM ", ci);
+ }
}
-
+ else
+ {
+ result = date.ToString("d MMM yyyy", ci);
+ }
return result.Replace(" ", " ");
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ra...@us...> - 2010-05-04 05:16:04
|
Revision: 7352
http://simias.svn.sourceforge.net/simias/?rev=7352&view=rev
Author: ravim85
Date: 2010-05-04 05:15:57 +0000 (Tue, 04 May 2010)
Log Message:
-----------
Build and warning cleanups . Commiting on behalf of aj...@no...
Modified Paths:
--------------
trunk/configure.in
trunk/package/linux/simias.spec.in
trunk/src/core/SimiasClient/libsimias-event/Makefile.am
trunk/src/core/SimiasClient/libsimias-event/simias-event-client.c
trunk/src/core/libsimias/Makefile.am
trunk/src/core/libsimias/simias.c
trunk/src/core/libsimias/simiasweb.c
Modified: trunk/configure.in
===================================================================
--- trunk/configure.in 2010-04-30 12:16:36 UTC (rev 7351)
+++ trunk/configure.in 2010-05-04 05:15:57 UTC (rev 7352)
@@ -92,12 +92,9 @@
# Check for a 32 / 64
#HACK ALERT : for libflaim 64bit builds
case $host_cpu in
- x86_64)
+ x86_64|amd64|s390x|ppc64|powerpc64)
LIB64='lib64'
;;
- amd64)
- LIB64='lib64'
- ;;
*)
LIB64='lib'
;;
Modified: trunk/package/linux/simias.spec.in
===================================================================
--- trunk/package/linux/simias.spec.in 2010-04-30 12:16:36 UTC (rev 7351)
+++ trunk/package/linux/simias.spec.in 2010-05-04 05:15:57 UTC (rev 7352)
@@ -1,7 +1,7 @@
#
# spec file for package simias (Version 1.8.4.@@BUILDNUM@@.1)
#
-# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -31,7 +31,7 @@
%define sysconfdir /etc
License: GNU General Public License (GPL) v2
Group: System/Libraries
-Autoreqprov: on
+AutoReqProv: on
Requires: mono-core >= 1.2.2
Requires: mono-data >= 1.2.2
Requires: mono-web >= 1.2.2
@@ -51,16 +51,36 @@
is the underlying data store for the iFolder project, although it has
potential to do much more.
+%if 0%{suse_version} > 1120
+%package devel
+License: GPLv2
+Summary: Development files for simias
+Group: Development/Libraries/C and C++
+Requires: %{name} = %{version}
+%description devel
+Development files for simias. Simias is a technology that will allow
+various types of data to be stored and related in what is known as a
+collection. Initially Simias is the underlying data store for the
+iFolder project, although it has potential to do much more.
+
+%endif
+
+
%prep
export BUILDNUM=%{buildnum}
-%setup -n %{name}
+%setup -q -n %{name}
#=============================================================================
%build
+export SUSE_ASNEEDED=0
+export CC=gcc-4.3
+export CXX=g++-4.3
export BUILDNUM=%{buildnum}
export LIBDIR=%{_lib}
+export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
+export CXXFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
./autogen.sh --prefix=%{prefix} --with-runasclient --sysconfdir=%{sysconfdir}
rm dependencies/external/tools/gsoap/linux-2.7/soapcpp2
@@ -80,18 +100,20 @@
%install
export BUILDNUM=%{buildnum}
-%{__rm} -rf $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT install
find $RPM_BUILD_ROOT/%{prefix}/* -type f | xargs chmod 644
find $RPM_BUILD_ROOT/%{prefix}/* -type d | xargs chmod 755
chmod a+x $RPM_BUILD_ROOT/%{prefix}/%_lib/simias/web/bin/ifdata
+mv $RPM_BUILD_ROOT/%{_bindir}/SimiasDirectoryMapping $RPM_BUILD_ROOT/%{sysconfdir}/simias
+# COPYING goes to usr/src/packages/simias
+rm -rf $RPM_BUILD_ROOT/%{prefix}/share/simias/
#=============================================================================
%clean
%{__rm} -rf $RPM_BUILD_ROOT
#=============================================================================
-%post
+%post -p /sbin/ldconfig
#=============================================================================
%preun
@@ -105,33 +127,48 @@
fi
#=============================================================================
-%postun
+%postun -p /sbin/ldconfig
#=============================================================================
%files
-%defattr(755,root,root)
-%{prefix}/bin/*
+%defattr(-,root,root)
+%doc COPYING
+%attr(755,root,root) %{prefix}/bin/*
%dir %{sysconfdir}/simias
-%{sysconfdir}/simias/Simias.config
-%{sysconfdir}/simias/Simias.log4net
-%{sysconfdir}/simias/defaults.config
-%{prefix}/include/*
-%{prefix}/%_lib/pkgconfig/*
+%attr(644,root,root) %config %{sysconfdir}/simias/Simias.config
+%attr(644,root,root) %config %{sysconfdir}/simias/Simias.log4net
+%attr(644,root,root) %config %{sysconfdir}/simias/defaults.config
+%attr(644,root,root) %config %{sysconfdir}/simias/SimiasDirectoryMapping
%{prefix}/%_lib/libFlaimWrapper.so
%{prefix}/%_lib/libFlaimWrapper.so.0
%{prefix}/%_lib/libFlaimWrapper.so.0.0.0
%{prefix}/%_lib/libsimias-event.so
+%{prefix}/%_lib/libsimias-manager.a
%{prefix}/%_lib/libsimias-event.so.0
%{prefix}/%_lib/libsimias-event.so.0.0.0
-%{prefix}/%_lib/libsimias-manager.a
+%{prefix}/%_lib/libsimias-manager.so.0
+%{prefix}/%_lib/libsimias-manager.so.0.0.0
%{prefix}/%_lib/libsimias.so
%{prefix}/%_lib/libsimias.so.0
%{prefix}/%_lib/libsimias.so.0.0.0
%dir %{prefix}/%_lib/simias
%{prefix}/%_lib/simias/*
-%{prefix}/share/*
-%attr(644,root,root) %{prefix}/include/simias/*
+
+%if 0%{suse_version} > 01120
+
+%files devel
+%defattr(-,root,root)
+%endif
+%{prefix}/%_lib/libFlaimWrapper.so
+%{prefix}/%_lib/libsimias-event.so
+%{prefix}/%_lib/libsimias-manager.so
+%{prefix}/%_lib/libsimias.so
+%{prefix}/%_lib/pkgconfig/*
+%dir %{prefix}/include/simias/
+%{prefix}/include/simias/*
+
+
%changelog -n simias
* Tue Feb 06 2007 - ro...@su...
- rebuild tools/gsoap utils (again)
Modified: trunk/src/core/SimiasClient/libsimias-event/Makefile.am
===================================================================
--- trunk/src/core/SimiasClient/libsimias-event/Makefile.am 2010-04-30 12:16:36 UTC (rev 7351)
+++ trunk/src/core/SimiasClient/libsimias-event/Makefile.am 2010-05-04 05:15:57 UTC (rev 7352)
@@ -1,8 +1,5 @@
lib_LTLIBRARIES = libsimias-event.la
-# Override CFLAGS so that -nologo and -W3 are NOT included
-override CFLAGS =
-
libsimias_event_la_SOURCES = \
simias-event-client.c simias-event-client.h
@@ -14,7 +11,7 @@
$(XML2_CFLAGS) -DDARWIN
else
libsimias_event_la_CFLAGS = \
- $(XML2_CFLAGS)
+ $(XML2_CFLAGS) $(CFLAGS_OPTIMIZE)
endif
if !WINDOWS
Modified: trunk/src/core/SimiasClient/libsimias-event/simias-event-client.c
===================================================================
--- trunk/src/core/SimiasClient/libsimias-event/simias-event-client.c 2010-04-30 12:16:36 UTC (rev 7351)
+++ trunk/src/core/SimiasClient/libsimias-event/simias-event-client.c 2010-05-04 05:15:57 UTC (rev 7352)
@@ -47,6 +47,8 @@
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
+#include <pthread.h>
+#include <unistd.h>
#include <libxml/tree.h>
#include <libxml/parser.h>
@@ -57,11 +59,11 @@
/* Turn this on to see debug messages */
#ifdef DEBUG
-#define DEBUG_SEC(args) (printf("simias-event-client: "), printf args)
-#define DEBUG_SEC_MUTEX(args) (printf("simias-event-client: "), printf args)
+#define DEBUG_SEC(args) do { printf("simias-event-client: "); printf args;} while (0)
+#define DEBUG_SEC_MUTEX(args) do {printf("simias-event-client: "); printf args;} while (0)
#else
-#define DEBUG_SEC
-#define DEBUG_SEC_MUTEX
+#define DEBUG_SEC(args) do {} while (0)
+#define DEBUG_SEC_MUTEX(args) do {} while (0)
#endif
#define WEB_SERVICE_TRUE_STRING "True"
@@ -307,6 +309,9 @@
IPROC_EVENT_ACTION action);
const char * sec_get_node_type_str (SIMIAS_NODE_TYPE type);
+extern int sec_reconnect (RealSimiasEventClient *ec);
+
+
/* Anytime an event struct is returned, it must be freed using this function. */
static void sec_free_event_struct (void *event_struct);
@@ -325,7 +330,6 @@
{
int i;
RealSimiasEventClient *ec;
- char user_profile_dir [1024];
xmlInitParser ();
@@ -449,7 +453,7 @@
RealSimiasEventClient *ec = (RealSimiasEventClient *)sec;
char reg_msg [4096];
struct sockaddr_in my_sin;
- int my_sin_addr_len;
+ socklen_t my_sin_addr_len;
char addr_str [32];
char port_str [32];
@@ -804,9 +808,8 @@
RealSimiasEventClient *ec = (RealSimiasEventClient *)user_data;
struct sockaddr_in sin;
struct sockaddr_in my_sin;
- int my_sin_addr_len;
+ socklen_t my_sin_addr_len;
char reg_msg [4096];
- char ip_addr [128];
bool b_connected = false;
char addr_str [32];
char port_str [32];
@@ -1550,7 +1553,7 @@
sec_free_event_struct (void *event_struct)
{
char **struct_ptr;
- int i, struct_pos;
+ int i;
int itemsInStruct;
struct_ptr = (char **)event_struct;
@@ -1823,9 +1826,11 @@
sec_state_event_callback (SEC_STATE_EVENT state_event, const char *message, void *data)
{
SimiasEventClient *ec = (SimiasEventClient *)data;
+ /*
SIMIAS_NODE_TYPE node_type;
SimiasEventFilter event_filter;
-
+ */
+
switch (state_event) {
case SEC_STATE_EVENT_CONNECTED:
printf ("sec-test: Connected Event\n");
Modified: trunk/src/core/libsimias/Makefile.am
===================================================================
--- trunk/src/core/libsimias/Makefile.am 2010-04-30 12:16:36 UTC (rev 7351)
+++ trunk/src/core/libsimias/Makefile.am 2010-05-04 05:15:57 UTC (rev 7352)
@@ -11,8 +11,6 @@
lib_LTLIBRARIES = libsimias.la
-override CFLAGS =
-
libsimias_la_SOURCES = \
envC.c simiasClientLib.c stdsoap2.c simias.c simias.h simiasweb.c simiasweb.h
Modified: trunk/src/core/libsimias/simias.c
===================================================================
--- trunk/src/core/libsimias/simias.c 2010-04-30 12:16:36 UTC (rev 7351)
+++ trunk/src/core/libsimias/simias.c 2010-05-04 05:15:57 UTC (rev 7352)
@@ -38,9 +38,9 @@
#include <string.h>
#ifdef DEBUG
-#define SIMIAS_DEBUG(args) (printf("libsimias: "), printf args)
+#define SIMIAS_DEBUG(args) do {printf("libsimias: "); fprintf args;} while (0)
#else
-#define SIMIAS_DEBUG
+#define SIMIAS_DEBUG(args) do {} while (0)
#endif
#if defined(WIN32)
Modified: trunk/src/core/libsimias/simiasweb.c
===================================================================
--- trunk/src/core/libsimias/simiasweb.c 2010-04-30 12:16:36 UTC (rev 7351)
+++ trunk/src/core/libsimias/simiasweb.c 2010-05-04 05:15:57 UTC (rev 7352)
@@ -47,9 +47,9 @@
#include <libxml/xpathInternals.h>
#ifdef DEBUG
-#define SIMIAS_DEBUG(args) (printf("libsimias: "), printf args)
+#define SIMIAS_DEBUG(args) do {printf("libsimias: "); printf args;} while (0)
#else
-#define SIMIAS_DEBUG
+#define SIMIAS_DEBUG(args) do {} while (0)
#endif
#if defined(WIN32)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <sp...@us...> - 2010-04-30 12:16:44
|
Revision: 7351
http://simias.svn.sourceforge.net/simias/?rev=7351&view=rev
Author: spkumar
Date: 2010-04-30 12:16:36 +0000 (Fri, 30 Apr 2010)
Log Message:
-----------
To fix a build issue in opensuse due to the inclusion of man page
Modified Paths:
--------------
trunk/package/linux/ifolder3-enterprise.spec.in
trunk/src/utils/restore/Makefile.am
Modified: trunk/package/linux/ifolder3-enterprise.spec.in
===================================================================
--- trunk/package/linux/ifolder3-enterprise.spec.in 2010-04-29 02:05:18 UTC (rev 7350)
+++ trunk/package/linux/ifolder3-enterprise.spec.in 2010-04-30 12:16:36 UTC (rev 7351)
@@ -131,7 +131,8 @@
%{prefix}/%_lib/libsimias.so
%{prefix}/%_lib/libsimias.so.0
%{prefix}/%_lib/libsimias.so.0.0.0
-%{prefix}/share/*
+%{prefix}/share/simias
+%{prefix}/share/simias/*
%dir %{prefix}/%_lib/simias/web
%dir %{prefix}/%_lib/simias
%dir %{prefix}/%_lib/simias/web/bin
Modified: trunk/src/utils/restore/Makefile.am
===================================================================
--- trunk/src/utils/restore/Makefile.am 2010-04-29 02:05:18 UTC (rev 7350)
+++ trunk/src/utils/restore/Makefile.am 2010-04-30 12:16:36 UTC (rev 7351)
@@ -1,5 +1,5 @@
# handle Mono secondary dependencies
-export MONO_PATH := $(MONO_PATH):$(DESTDIR)$(webbindir)
+export MONO_PATH := $(MONO_PATH)
ifrecovery_CSFILES = $(srcdir)/AssemblyInfo.cs $(srcdir)/iFolderServer.cs $(srcdir)/xmlDocProcessing.cs $(srcdir)/iFolderAdminProxy.cs $(srcdir)/iFolderWebProxy.cs ../../server/setup/Options.cs
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jj...@us...> - 2010-04-29 02:05:24
|
Revision: 7350
http://simias.svn.sourceforge.net/simias/?rev=7350&view=rev
Author: jjohnny
Date: 2010-04-29 02:05:18 +0000 (Thu, 29 Apr 2010)
Log Message:
-----------
ID: Bug #594270
Reviewers: GG
Localization Required: No
Documentation Required: No
Description: Clients does not show any error during download when
user does not have access over folder
When clients don't have sufficient permissions over a folder for
read or write, emit events for the clients to consume.
Modified Paths:
--------------
trunk/src/core/SimiasClient/SyncStatus.cs
trunk/src/core/Sync/SyncClient.cs
Modified: trunk/src/core/SimiasClient/SyncStatus.cs
===================================================================
--- trunk/src/core/SimiasClient/SyncStatus.cs 2010-04-28 15:57:13 UTC (rev 7349)
+++ trunk/src/core/SimiasClient/SyncStatus.cs 2010-04-29 02:05:18 UTC (rev 7350)
@@ -128,7 +128,11 @@
/// <summary>
/// The limit policy doesn't allow this member.
/// </summary>
- PolicyLimit
+ PolicyLimit,
+ /// <summary>
+ /// Filesystem permissions doesn't allow file IO.
+ /// </summary>
+ IOError
}
#endregion
Modified: trunk/src/core/Sync/SyncClient.cs
===================================================================
--- trunk/src/core/Sync/SyncClient.cs 2010-04-28 15:57:13 UTC (rev 7349)
+++ trunk/src/core/Sync/SyncClient.cs 2010-04-29 02:05:18 UTC (rev 7350)
@@ -130,7 +130,17 @@
};
#endregion
+ /// <summary>
+ /// Exception when sync is fataly aborted.
+ /// </summary>
+ public class SyncAbortedException : Exception
+ {
+ public SyncAbortedException() {}
+ public SyncAbortedException(string message) : base(message) {}
+ public SyncAbortedException(string message, System.Exception inner) : base(message, inner) {}
+ }
+
#region SyncClient
/// <summary>
@@ -1043,7 +1053,7 @@
log.Debug("In sync now...");
// Assume the server is alive.
bool sAlive = false;
- bool nopassphrase = false;
+ bool nopassphrase = false;
try
{
eventPublisher.RaiseEvent(new CollectionSyncEventArgs(collection.Name, collection.ID, Simias.Client.Event.Action.StartLocalSync, true, false));
@@ -1312,8 +1322,16 @@
}
}
+ catch (SyncAbortedException ex)
+ {
+ if (ex.InnerException != null && ex.InnerException is UnauthorizedAccessException) {
+ log.Info("UnauthorizedAccessException occured: Collection not committed. Detailed StackTrace is {0} ",
+ ex.InnerException.StackTrace.ToString());
+ }
+ }
finally
{
+
bool status = workArray.Complete;
if (status)
lastSyncTime = DateTime.Now;
@@ -2563,6 +2581,11 @@
log.Info("PathTooLongException occured: Detailed StackTrace is {0} ", pex.ToString());
eventPublisher.RaiseEvent(new FileSyncEventArgs(collection.ID, ObjectType.File, false, file.Name, 0,0,0, Direction.Downloading,SyncStatus.PathTooLong));
}
+ catch (UnauthorizedAccessException ex)
+ {
+ eventPublisher.RaiseEvent(new FileSyncEventArgs(collection.ID, ObjectType.File, false, file.Name, 0,0,0, Direction.Downloading,SyncStatus.IOError));
+ throw new SyncAbortedException (file.Name, ex);
+ }
catch (WebException we)
{
//This is to handle any webException while performing upload/download
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <he...@us...> - 2010-04-28 15:57:19
|
Revision: 7349
http://simias.svn.sourceforge.net/simias/?rev=7349&view=rev
Author: hegdegg
Date: 2010-04-28 15:57:13 +0000 (Wed, 28 Apr 2010)
Log Message:
-----------
Updates to UI changes for upgrading slave server to master. Added checks
around each web service calls, added a option for repair.
Modified Paths:
--------------
trunk/src/admin/ServerDetails.aspx
trunk/src/admin/ServerDetails.aspx.cs
trunk/src/admin/iFolderAdmin.resx
Modified: trunk/src/admin/ServerDetails.aspx
===================================================================
--- trunk/src/admin/ServerDetails.aspx 2010-04-28 15:55:35 UTC (rev 7348)
+++ trunk/src/admin/ServerDetails.aspx 2010-04-28 15:57:13 UTC (rev 7349)
@@ -96,6 +96,12 @@
CssClass="changemasterbuttons"
Enabled="True"
/>
+ <asp:LinkButton
+ ID="RepairServerButton"
+ Runat="server"
+ CssClass="changemasterbuttons"
+ Enabled="False"
+ />
</td>
</tr>
Modified: trunk/src/admin/ServerDetails.aspx.cs
===================================================================
--- trunk/src/admin/ServerDetails.aspx.cs 2010-04-28 15:55:35 UTC (rev 7348)
+++ trunk/src/admin/ServerDetails.aspx.cs 2010-04-28 15:57:13 UTC (rev 7349)
@@ -259,6 +259,11 @@
protected LinkButton ChangeMasterButton;
/// <summary>
+ /// External Identity RepairServerButton
+ /// </summary>
+ protected LinkButton RepairServerButton;
+
+ /// <summary>
/// Server Details cancel button control.
/// </summary>
protected Button CancelServerDetailsButton;
@@ -349,6 +354,11 @@
/// Server online status
/// </summary>
protected bool serverStatus = false;
+
+ /// <summary>
+ /// Retry count for invalidaexception
+ /// </summary>
+ protected int retryCount = 3;
#endregion
@@ -487,6 +497,42 @@
}
/// <summary>
+ /// Gets the details about the server status.
+ /// </summary>
+ /// <returns>The name of the host node.</returns>
+ private bool GetServerStatus()
+ {
+ log.Info("GetServerStatus begin");
+ bool status = false;
+ iFolderServer server = null;
+ server = web.GetServer( ServerID );
+ remoteweb.PreAuthenticate = true;
+ remoteweb.Credentials = web.Credentials;
+ remoteweb.Url = server.PublicUrl + "/iFolderAdmin.asmx";
+ redirectUrl = server.PublicUrl;
+ try
+ {
+ if ( remoteweb.ServerNeedsRepair() == true )
+ {
+ log.Info("This server needs a repair");
+ RepairServerButton.Enabled = true;
+ RepairServerButton.Visible = true;
+ }
+ else
+ {
+ RepairServerButton.Enabled = false;
+ RepairServerButton.Visible = false;
+ }
+ }
+ catch (WebException ex)
+ {
+ log.Info("Exception throw at GetSTatus");
+ }
+ log.Info("Leaving GetServerStatus");
+ return status;
+ }
+
+ /// <summary>
/// Gets the details about the current server.
/// </summary>
/// <returns>The name of the host node.</returns>
@@ -761,8 +807,10 @@
LdapEditButton.Enabled = true;
SyncNowButton.Text = GetString ("SYNCNOW");
ChangeMasterButton.Text = GetString ("CHANGEMASTER");
+ RepairServerButton.Text= GetString("NEEDSREPAIR");
+ RepairServerButton.Enabled = false;
- DisableButton.Text = GetString( "DISABLE" );
+ DisableButton.Text = GetString( "DISABLE" );
DeleteButton.Text = GetString( "DELETE" );
EnableButton.Text = GetString("ENABLE");
AddButton.Text = GetString( "ADD" );
@@ -886,19 +934,16 @@
/// <param name="e"></param>
private void Page_PreRender( object sender, EventArgs e )
{
-// TopNav.ShowInfo (String.Format("Exception- {0}", web.Url));
string serverName = GetServerDetails();
-
BuildBreadCrumbList( serverName );
-
if(serverStatus)
{
+ GetServerStatus();
GetReportList();
GetLogList();
GetLdapDetails ();
GetDataPaths();
}
-
DeleteButton.Attributes["onclick"] = "return ConfirmDeletion();";
//TODO : future!
//GetTailData();
@@ -1171,9 +1216,58 @@
iFolderServer server = web.GetServer( ServerID );
string ServerName = server.Name;
Response.Redirect(String.Format("LdapAdminAuth.aspx?ServerID={0}&serverName={1}",ServerID,ServerName));
+ }
+ /// <summary>
+ /// Associate the actions to buttons
+ /// </summary>
+ /// <param name="source"></param>
+ /// <param name="e"></param>
+ protected void RepairServer_PreRender(object source, EventArgs e)
+ {
+ //TODO:get the string from resource.
+ RepairServerButton.Attributes["onclick"] = "javascript:return confirm('This will repair the server. Click to contiue or Cancel to quit.');";
}
+ /// <summary>
+ /// Method to call the reapir on the server, this would call repair on
+ /// server if the change master is incomplete
+ /// </summary>
+ /// <param name="source"></param>
+ /// <param name="e"></param>
+ protected void OnRepairServerButton_Click( object source, EventArgs e )
+ {
+ log.Info("GetServerStatus begin");
+ bool repairDone = true;
+ iFolderServer[] iFolderServers = web.GetServers();
+ foreach(iFolderServer ifs in iFolderServers)
+ {
+ if ( ifs.IsMaster )
+ {
+ remoteweb.PreAuthenticate = true;
+ remoteweb.Credentials = web.Credentials;
+ remoteweb.Url = ifs.PublicUrl + "/iFolderAdmin.asmx";
+ try
+ {
+ log.Info("Running repair on : {0}", ifs.PublicUrl);
+ remoteweb.RepairChangeMasterUpdates();
+ }
+ catch (WebException ex)
+ {
+ repairDone = false;
+ log.Info("Exception while RepairChangeMasterUpdates");
+ }
+ }
+ }
+ ChangeMasterButton.Enabled = repairDone;
+ RepairServerButton.Enabled = !repairDone;
+ }
+
+ /// <summary>
+ /// Associate the actions to buttons
+ /// </summary>
+ /// <param name="source"></param>
+ /// <param name="e"></param>
protected void ChangeMaster_PreRender(object source, EventArgs e)
{
// TODO : get this stuff from a resource
@@ -1181,7 +1275,201 @@
ChangeMasterButton.Attributes["onclick"] = "javascript:return confirm('The selected server will be designated as a Master Server. Do you want to continue? Click OK to continue or Cancel to quit.');";
}
+
/// <summary>
+ /// Wrapper funtion to call SetAsSlaveServer
+ /// </summary>
+ /// <param name="serverID">ID of the server</param>
+ /// <param name="ServerURL">Url of the server</param>
+ protected bool SetAsSlave(string serverID, string ServerURL)
+ {
+ int count = 0 ;
+ bool retval = false;
+ iFolderAdmin remoteWebServer = new iFolderAdmin();
+ remoteWebServer.PreAuthenticate = true;
+ remoteWebServer.Credentials = web.Credentials;
+ remoteWebServer.Url = ServerURL + "/iFolderAdmin.asmx";
+
+ while ( count <= retryCount)
+ {
+ try
+ {
+ retval = remoteWebServer.SetAsSlaveServer(serverID, ServerURL);
+ break;
+ }
+ catch(Exception ex)
+ {
+ log.Info("Caught exception while SetAsSlave, retrying : {0} :{1}", ex.Message, ex.StackTrace);
+ if (ex.Message.IndexOf("InvalidOperation") >= 0)
+ {
+ count ++;
+ continue;
+ }
+ else
+ break;
+ }
+ }
+ return retval;
+ }
+
+ /// <summary>
+ /// Wrapper funtion to call SetAsMasterServer
+ /// </summary>
+ /// <param name="serverID">ID of the server</param>
+ /// <param name="ServerURL">Url of the server</param>
+ protected bool SetAsMaster(string serverID, string serverURL)
+ {
+ int count = 0 ;
+ bool retval = false;
+ iFolderAdmin remoteWebServer = new iFolderAdmin();
+ remoteWebServer.PreAuthenticate = true;
+ remoteWebServer.Credentials = web.Credentials;
+ remoteWebServer.Url = serverURL + "/iFolderAdmin.asmx";
+
+ while ( count <= retryCount)
+ {
+ try
+ {
+ retval = remoteWebServer.SetAsMasterServer( serverID );
+ break;
+ }
+ catch(Exception ex)
+ {
+ log.Info("Caught exception while SetAsMaster : {0} : {1}", ex.Message, ex.StackTrace);
+ if (ex.Message.IndexOf("InvalidOperation") >= 0)
+ {
+ count ++;
+ continue;
+ }
+ else
+ break;
+ }
+ }
+ return retval;
+ }
+
+ /// <summary>
+ /// Wrapper funtion to call SetAsMasterNodeAttribute
+ /// </summary>
+ /// <param name="serverID">ID of the server</param>
+ /// <param name="ServerURL">Url of the server</param>
+ /// <param name="nodeValue">true/false for master/slave</param>
+ protected bool SetMasterNode(string serverID, string serverURL, bool nodeValue)
+ {
+ int count = 0;
+ bool retval = false;
+
+ iFolderAdmin remoteWebServer = new iFolderAdmin();
+ remoteWebServer.PreAuthenticate = true;
+ remoteWebServer.Credentials = web.Credentials;
+ remoteWebServer.Url = serverURL + "/iFolderAdmin.asmx";
+
+ while ( count <= retryCount)
+ {
+ try
+ {
+ retval = remoteWebServer.SetMasterNodeAttribute(serverID, nodeValue );
+ break;
+ }
+ catch(Exception ex)
+ {
+ log.Info("Caught exception while SetMasterNode : {0} : {1}", ex.Message, ex.StackTrace);;
+ if (ex.Message.IndexOf("InvalidOperation") >= 0)
+ {
+ count ++;
+ continue;
+ }
+ else
+ break;
+ }
+ }
+ return retval;
+ }
+
+ /// <summary>
+ /// Wrapper funtion to call GetAsMasterNode
+ /// </summary>
+ /// <param name="serverID">ID of the server</param>
+ /// <param name="ServerURL">Url of the server</param>
+ /// <param name="checkVal">true/false for master/slave</param>
+ protected bool GetMasterNode(string serverID, string serverURL, bool checkVal)
+ {
+ int count = 0;
+ bool retval = false;
+
+ iFolderAdmin remoteWebServer = new iFolderAdmin();
+ remoteWebServer.PreAuthenticate = true;
+ remoteWebServer.Credentials = web.Credentials;
+ remoteWebServer.Url = serverURL + "/iFolderAdmin.asmx";
+
+ int loop = 0;
+ while ( count <= retryCount)
+ {
+ try
+ {
+ while (loop <= retryCount)
+ {
+ retval = remoteWebServer.GetMasterNodeAttribute(serverID);
+ if (retval != checkVal)
+ {
+ log.Info("Waiting for master node attrituge to sync accross old and new master server");
+ Thread.Sleep(10000);
+ }
+ loop++;
+ }
+ }
+ catch(Exception ex)
+ {
+ log.Info("Caught exception while GetMasterNode :{0} : {1}", ex.Message, ex.StackTrace);
+ if (ex.Message.IndexOf("InvalidOperation") >= 0)
+ {
+ count++;
+ continue;
+ }
+ else
+ break;
+ }
+ }
+ return retval;
+ }
+
+ /// <summary>
+ /// Wrapper funtion to call SetMasterSeverUrl
+ /// </summary>
+ /// <param name="serverID">ID of the server</param>
+ /// <param name="ServerURL">Url of the server</param>
+ protected bool SetMasterURL(string serverID, string serverURL)
+ {
+ int count = 0;
+ bool retval = false;
+ iFolderAdmin otherSlaveServers = new iFolderAdmin();
+ otherSlaveServers.PreAuthenticate = true;
+ otherSlaveServers.Credentials = web.Credentials;
+ otherSlaveServers.Url = serverURL + "/iFolderAdmin.asmx";
+ log.Info("Connecting to : {0}", otherSlaveServers.Url);
+
+ while ( count <= retryCount)
+ {
+ try
+ {
+ retval = otherSlaveServers.SetMasterServerUrl(serverID, serverURL);
+ break;
+ }
+ catch(Exception ex)
+ {
+ log.Info("Caught exception while SetMasterURL : {0} : {1}", ex.Message, ex.StackTrace);
+ if (ex.Message.IndexOf("InvalidOperation") >= 0)
+ {
+ count ++;
+ continue;
+ }
+ else
+ break;
+ }
+ }
+ return retval;
+ }
+ /// <summary>
/// Event that gets called when the ChangeMasterButton is clicked
/// Here all the calls are made to respective master and slave servers
/// to update the required details to turn it into new Master or new
@@ -1195,219 +1483,142 @@
/// <param name="e"></param>
protected void OnChangeMasterButton_Click( object source, EventArgs e )
{
+ int count = 0;
+ bool currentMasterUpdateComplete = false,
+ newMasterUpdateComplete = false,
+ slaveUpdateComplete = false;
+ string HostID = null,
+ newServerPublicUrl = null;
+ iFolderServer mServer = null,
+ newmServer=null;
+
+ newmServer = web.GetServer(ServerID);
+ mServer = web.GetMasterServer();
log.Info("Change Master Server process Initiated");
- bool currentMasterUpdateComplete = false, newMasterUpdateComplete = false;
-
- string HostID = null, newServerPublicUrl = null;
- iFolderServer mServer = null, newmServer=null;
try
{
- try
+ if (ServerID != null)
{
- //check server ID here
- newmServer = web.GetServer(ServerID);
- mServer = web.GetMasterServer();
- }
- catch(Exception ex)
- {
- // for some unknow reason first call fails randomly...so tring
- // it again.
- log.Info("Caught exception while trying to get Master server and slected server, retrying");
- newmServer = web.GetServer(ServerID);
- mServer = web.GetMasterServer();
- }
-
- if ( newmServer != null && mServer != null &&
- ServerID != null && (newServerPublicUrl = newmServer.PublicUrl) != null)
- {
- log.Info("New Master Server ID = {0}", ServerID);
- log.Info("Current Master Server Url : {0}", mServer.PublicUrl);
- log.Info("New Master Server Url : {0}", newmServer.PublicUrl);
-
- // First Set current Master server to Slave
- iFolderAdmin currentMasterServer = new iFolderAdmin();
- currentMasterServer.PreAuthenticate = true;
- currentMasterServer.Credentials = web.Credentials;
- currentMasterServer.Url = mServer.PublicUrl + "/iFolderAdmin.asmx";
- log.Info("Current Master Server admin service Url = {0}", currentMasterServer.Url);
-
- log.Info("Setting as Slave server...");
- try
+ while ( count <= retryCount )
{
- if( !currentMasterServer.SetAsSlaveServer(ServerID, newServerPublicUrl))
+ /* Dont worry about the loops around all webservice calls.
+ * this is to avoid the invalid operation exception that comes
+ * once in a while. */
+ try
{
- log.Info("Unable to set the server as slave, retry");
- TopNav.ShowError(GetString("UNABLETOSETASSLAVE"));
- return;
+ log.Info("Getting current server and master server info");
+ // TODO: why call both webservice even if one fails?
+ newmServer = web.GetServer(ServerID);
+ mServer = web.GetMasterServer();
+ break;
}
- }
- catch(WebException ex)
- {
- log.Info("Exception while SetAsSlaveServer");
- HttpWebResponse htpw = (HttpWebResponse)(ex.Response);
- if(ex.Status == WebExceptionStatus.ProtocolError)
+ catch(Exception ex)
{
- TopNav.ShowError(String.Format("WebException {0}", htpw.StatusDescription));
- }
- if(ex.Status == WebExceptionStatus.SendFailure)
- {
- UriBuilder turl = new UriBuilder(mServer.PublicUrl);
- if(turl.Scheme == Uri.UriSchemeHttps) //check it should be http
+ log.Info("Caught exception while trying to get Master server and slected server, retrying : {0} :{1}", ex.Message, ex.StackTrace);
+ if (ex.Message.IndexOf("InvalidOperation") >= 0)
{
- turl.Scheme = Uri.UriSchemeHttp;
- // non standard port does not work
- turl.Port = 80;
+ count++;
+ continue;
}
else
- {
- turl.Scheme = Uri.UriSchemeHttps;
- turl.Port = 443;
- }
- currentMasterServer.Url = turl.ToString();
- redirectUrl = currentMasterServer.Url;
- currentMasterServer.Url = currentMasterServer.Url + "/iFolderAdmin.asmx";
-
- try
- {
- if( !currentMasterServer.SetAsSlaveServer(ServerID, newServerPublicUrl))
- {
- log.Info("Unable to set the server as slave, retry");
- TopNav.ShowError(GetString("UNABLETOSETASSLAVE"));
- return;
- }
- }
- catch{
- log.Info("Exception while SetAsSlave");
- return;
- }
+ break;
}
}
+ if ( newmServer != null && mServer != null && newmServer.PublicUrl != null)
+ {
+ newServerPublicUrl = newmServer.PublicUrl;
+ log.Info("ServerID = {0}, master url = {1}, new master url = {2} ",
+ ServerID, mServer.PublicUrl, newmServer.PublicUrl);
- currentMasterUpdateComplete = true;
- log.Info("Set as Slave Server Complete.");
+ // First Set current Master server to Slave
- log.Info("Setting selected server as Master Server...");
- // Then, Set the New Master Server
- iFolderAdmin newMasterServer = new iFolderAdmin ();
- newMasterServer.PreAuthenticate = true;
- newMasterServer.Credentials = web.Credentials;
- newMasterServer.Url = newServerPublicUrl + "/iFolderAdmin.asmx";
- log.Info("New Master Server admin service Url = {0}", newMasterServer.Url);
- try
- {
- if(!newMasterServer.SetAsMasterServer(ServerID))
+ log.Info("Setting as Slave server...");
+ currentMasterUpdateComplete = SetAsSlave(ServerID, mServer.PublicUrl);
+ if( !currentMasterUpdateComplete )
{
- log.Info("Unable to set the server as Master, retry");
+ log.Info("Unable to set the server as slave, retry");
+ TopNav.ShowError(GetString("UNABLETOSETASSLAVE"));
+ return;
}
- }
- catch (WebException ex)
- {
- log.Info("Exception while SetAsMasterServer");
- HttpWebResponse htpw = (HttpWebResponse)(ex.Response);
- if(ex.Status == WebExceptionStatus.ProtocolError)
+
+ log.Info("Set as Slave Server Complete.Setting selected server as Master Server...");
+ // Then, Set the New Master Server
+ log.Info("New Master Server admin service Url = {0}", newmServer.PublicUrl);
+ newMasterUpdateComplete = SetAsMaster(ServerID, newmServer.PublicUrl);
+ if(!newMasterUpdateComplete)
{
- TopNav.ShowInfo (String.Format("WebException {0}", htpw.StatusDescription));
+ log.Info("Unable to set the server as Master, retry");
+ TopNav.ShowError(GetString("UNABLETOSETASMASTER"));
+ return;
}
- if(ex.Status == WebExceptionStatus.SendFailure)
+ // Master and Slave updated, now set the Master node attribute for new Master host on both
+ // current master and new master
+ if ( SetMasterNode(ServerID, mServer.PublicUrl, true))
{
- UriBuilder turl = new UriBuilder(newmServer.PublicUrl);
- // non standard port does not work ....
- if(turl.Scheme == Uri.UriSchemeHttps)
+ if (GetMasterNode(newmServer.ID, newmServer.PublicUrl, true) != true )
{
- turl.Scheme = Uri.UriSchemeHttp;
- turl.Port = 80;
+ TopNav.ShowInfo(GetString("CHANGEMASTERRETRY"));
+ return;
}
else
- {
- turl.Scheme = Uri.UriSchemeHttps;
- turl.Port = 443;
- }
- newMasterServer.Url = turl.ToString();
- redirectUrl = newMasterServer.Url;
- newMasterServer.Url = newMasterServer.Url + "/iFolderAdmin.asmx";
- try
- {
- newMasterServer.SetAsMasterServer(ServerID);
- }
- catch
- {
- TopNav.ShowError(String.Format (GetString("CONNECTFAILED"), newMasterServer.Url));
- }
+ log.Info("Verified the Master node attribute on both old and new Master");
}
- }
- newMasterUpdateComplete = true;
-
- // Master and Slave updated, now set the Master node attribute for new Master host on both
- // current master and new master
- if ( currentMasterServer.SetMasterNodeAttribute(newmServer.ID, true ))
- {
- int count = 0;
- while (newMasterServer.GetMasterNodeAttribute(newmServer.ID) != true )
+ //Master and Slave updated and set, now we will let all other slaves
+ //know about the changes.
+ iFolderServer[] iFolderServers = web.GetServers();
+ ArrayList list = new ArrayList();
+ StringBuilder failedServers = new System.Text.StringBuilder();
+ foreach(iFolderServer ifs in iFolderServers)
{
- TopNav.ShowInfo(GetString("MASTERNODEUPDATEWAIT"));
- log.Info("Waiting for master node attrituge to sync acress old and new master server");
- Thread.Sleep(1000);
- count ++;
- if (count > 15)
+ if ( ifs.HostName != newmServer.HostName)
{
- log.Info("Unable to get Master node attribute from the new master server, you may have to retry the operation");
- //break; ///come out from here .....
- TopNav.ShowError(String.Format("CHANGEMASTERRETRY"));
- return;
+ if (SetMasterURL(ServerID, newServerPublicUrl) != true)
+ {
+ log.Info("Update master serverurl on {0} failed ", ifs.PublicUrl);
+ list.Add(ifs.HostName);
+ }
}
}
- log.Info("Set as Master Server Complete");
- }
-
- //Master and Slave updated and set, now we will let all other slaves
- //know about the changes.
- iFolderServer[] iFolderServers = web.GetServers();
- foreach(iFolderServer ifs in iFolderServers)
- {
- if ( ifs.HostName != newmServer.HostName)
+ if (list.Count >= 1)
{
- log.Info("Updating new master url on : {0}", ifs.PublicUrl);
- iFolderAdmin otherSlaveServers = new iFolderAdmin();
- otherSlaveServers.PreAuthenticate = true;
- otherSlaveServers.Credentials = web.Credentials;
- otherSlaveServers.Url = ifs.PublicUrl + "/iFolderAdmin.asmx";
- log.Info("Connecting to : {0}", otherSlaveServers.Url);
- try
+ for (int i = 0; i < list.Count; i++)
{
- otherSlaveServers.SetMasterServerUrl(ServerID, newServerPublicUrl);
- }catch(Exception ex)
- {
- log.Info("Update master serverurl on {0} failed ", ifs.PublicUrl);
- TopNav.ShowError(String.Format(GetString("UPDATEMASTERURLONSLAVESFAILED"), ifs.PublicUrl));
+ failedServers.Append(list[i].ToString()).Append(" ");
}
- // collect all failed url and print once.
+ log.Info("Unable to set master url on : {0}", failedServers.ToString());
+ TopNav.ShowError(GetString("UPDATEMASTERURLONSLAVEFAILED") + failedServers.ToString());
}
+ else
+ {
+ slaveUpdateComplete = true;
+ }
}
- //refresh server deatils
- //GetServerDetails();
- //disable the button so the user does not click it again.
- ChangeMasterButton.Enabled = false;
- TopNav.ShowInfo (String.Format (GetString ("CHANGEMASTERSUCCESSFUL"), newServerPublicUrl));
+ else
+ {
+ log.Info(String.Format ("Unable to get new Master ServerID and newServerPublicUrl, retry"));
+ TopNav.ShowError(GetString("CHANGEMASTERINFOFAILED"));
+ }
}
else
{
- log.Info(String.Format ("Unable to get new Master ServerID and newServerPublicUrl, retry"));
- TopNav.ShowError(GetString("CHANGEMASTERINFOFAILED"));
- ChangeMasterButton.Enabled = false;
+ log.Info(String.Format ("Unable to get new Master ServerID"));
}
}
finally
{
- try
+ ChangeMasterButton.Enabled = false;
+ /* this is just to get all the changes done on both the
+ servers. does nothing other than logging. Will be useful
+ for debuggind in case of any error */
+ if (mServer != null && newmServer != null)
+ web.VerifyChangeMaster(mServer.ID, newmServer.ID);
+
+ if (currentMasterUpdateComplete && newMasterUpdateComplete &&
+ slaveUpdateComplete)
{
- //this is just to get all the changes done on both the
- //servers. does nothing other than logging. Will be useful
- //for debuggind in case of any error
- web.VerifyChangeMaster(mServer.ID, newmServer.ID);
+ TopNav.ShowInfo (String.Format (GetString ("CHANGEMASTERSUCCESSFUL"), newServerPublicUrl));
}
- catch{}
- log.Info("Change Master Server process Complete");
}
return;
}
@@ -1668,6 +1879,8 @@
this.SyncNowButton.Click += new System.EventHandler(this.OnSyncNowButton_Click);
this.ChangeMasterButton.PreRender += new EventHandler(this.ChangeMaster_PreRender);
this.ChangeMasterButton.Click += new System.EventHandler(this.OnChangeMasterButton_Click);
+ this.RepairServerButton.PreRender += new EventHandler(this.RepairServer_PreRender);
+ this.RepairServerButton.Click += new System.EventHandler(this.OnRepairServerButton_Click);
this.ViewLogButton.Click += new System.EventHandler(this.ViewLogFile);
}
#endregion
Modified: trunk/src/admin/iFolderAdmin.resx
===================================================================
--- trunk/src/admin/iFolderAdmin.resx 2010-04-28 15:55:35 UTC (rev 7348)
+++ trunk/src/admin/iFolderAdmin.resx 2010-04-28 15:57:13 UTC (rev 7349)
@@ -1276,8 +1276,11 @@
<value>Waiting</value>
</data>
<data name="CHANGEMASTER">
- <value>Set as Master</value>
+ <value>Set As Master</value>
</data>
+ <data name="NEEDSREPAIR">
+ <value>Repair Server</value>
+ </data>
<data name="UNABLETOSETASSLAVE">
<value>Unable to set as slave server. Retry the operation.</value>
</data>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <he...@us...> - 2010-04-28 15:55:44
|
Revision: 7348
http://simias.svn.sourceforge.net/simias/?rev=7348&view=rev
Author: hegdegg
Date: 2010-04-28 15:55:35 +0000 (Wed, 28 Apr 2010)
Log Message:
-----------
Updates to make slave as master, added methods for verifying and fixing
error to updates.
Modified Paths:
--------------
trunk/src/webservices/iFolderAdmin.asmx.cs
trunk/src/webservices/iFolderAdminLocal.asmx.cs
trunk/src/webservices/iFolderServer.cs
Modified: trunk/src/webservices/iFolderAdmin.asmx.cs
===================================================================
--- trunk/src/webservices/iFolderAdmin.asmx.cs 2010-04-28 13:29:20 UTC (rev 7347)
+++ trunk/src/webservices/iFolderAdmin.asmx.cs 2010-04-28 15:55:35 UTC (rev 7348)
@@ -781,6 +781,26 @@
return base.VerifyChangeMaster( currentMasterHostID, newMasterHostID);
}
+ /// <summary>
+ /// Verify attributes of servers
+ /// </summary>
+ /// <returns>true/false</returns>
+ [WebMethod(Description="Check if the server needs a repair", EnableSession=true)]
+ public override bool ServerNeedsRepair()
+ {
+ return base.ServerNeedsRepair();
+ }
+
+ /// <summary>
+ /// Verify attributes of servers
+ /// </summary>
+ /// <returns>true/false</returns>
+ [WebMethod(Description="Check if the server needs a repair", EnableSession=true)]
+ public override bool RepairChangeMasterUpdates()
+ {
+ return base.RepairChangeMasterUpdates();
+ }
+
/// <summary>
/// Get information about a user using an id or username.
/// </summary>
Modified: trunk/src/webservices/iFolderAdminLocal.asmx.cs
===================================================================
--- trunk/src/webservices/iFolderAdminLocal.asmx.cs 2010-04-28 13:29:20 UTC (rev 7347)
+++ trunk/src/webservices/iFolderAdminLocal.asmx.cs 2010-04-28 15:55:35 UTC (rev 7348)
@@ -2011,6 +2011,45 @@
}
return result;
}
+ /// <summary>
+ /// get the server attributes
+ /// </summary>
+ /// <returns>true/false</returns>
+ [WebMethod(Description= "Check if server requires repair", EnableSession = true)]
+ public virtual bool ServerNeedsRepair()
+ {
+ bool result = false;
+ try
+ {
+ result = iFolderServer.ServerNeedsRepair();
+ }
+ catch (Exception e)
+ {
+ SmartException.Throw (e);
+ }
+ return result;
+ }
+
+
+ /// <summary>
+ /// Rectifies the error/failure that may have caused by ChangeMaster
+ /// </summary>
+ /// <returns>true/false</returns>
+ [WebMethod(Description= "Rectify the errors/failures caused by ChangeMaster", EnableSession = true)]
+ public virtual bool RepairChangeMasterUpdates()
+ {
+ bool result = false;
+ try
+ {
+ result = iFolderServer.RepairChangeMasterUpdates();
+ }
+ catch (Exception e)
+ {
+ SmartException.Throw (e);
+ }
+ return result;
+ }
+
/// <summary>
/// DisablePast Sharing for the system
/// </summary>
Modified: trunk/src/webservices/iFolderServer.cs
===================================================================
--- trunk/src/webservices/iFolderServer.cs 2010-04-28 13:29:20 UTC (rev 7347)
+++ trunk/src/webservices/iFolderServer.cs 2010-04-28 15:55:35 UTC (rev 7348)
@@ -221,20 +221,19 @@
/// Get the Master iFolder Server in the system
/// </summary>
/// <returns>An iFolder Server Object</returns>
- public static iFolderServer GetMasterServer ()
+ public static iFolderServer GetMasterServer ()
{
- iFolderServerSet ServerList = GetServersByName (iFolderServerType.Master, SearchOperation.BeginsWith, "*", 0, 0);
+ iFolderServerSet ServerList = GetServersByName (iFolderServerType.Master, SearchOperation.BeginsWith, "*", 0, 0);
iFolderServer MasterServer = null;
foreach (iFolderServer server in ServerList.Items)
{
- if (server.IsMaster)
- {
- MasterServer = server;
- break;
- }
+ if (server.IsMaster)
+ {
+ MasterServer = server;
+ break;
+ }
}
-
- return MasterServer;
+ return MasterServer;
}
/// <summary>
@@ -656,8 +655,73 @@
return UpdateStatus;
}
+ /// <summary>
+ /// This method is used to get the status of server, will verify the
+ /// attributes that were changed while upgrading slave to server.
+ /// </summary>
+ /// <returns>true/false based upon the success/failure </returns>
+ public static bool ServerNeedsRepair()
+ {
+ bool needsRepair= false;
+ Store store = Store.GetStore();
+ Domain domain = store.GetDomain(store.DefaultDomain);
+ Collection cat = store.GetCollectionByID(catalogID); //Simias.Server.Catalog.catalogID);
+
+ HostNode localhostNode = HostNode.GetLocalHost();
+
+ if( (domain.Role == Simias.Sync.SyncRoles.Slave) &&
+ (localhostNode.IsMasterHost == true ) )
+ {
+ needsRepair = true;
+ }
+ else if ( (domain.Role == Simias.Sync.SyncRoles.Master) &&
+ (localhostNode.IsMasterHost != true) )
+ {
+ needsRepair = true;
+ }
+ else if ( (domain.Role == Simias.Sync.SyncRoles.Slave ) &&
+ ( (domain.HostID == null) || (domain.HostUri == null)))
+ {
+ needsRepair = true;
+ }
+ else if (domain.Role != cat.Role)
+ {
+ needsRepair = true;
+ }
+ return needsRepair;
+ }
/// <summary>
+ /// Run repair on the node, verify the inconsistancy on the node
+ /// </summary>
+ /// <returns> true/false for success/failure</returns>
+ public static bool RepairChangeMasterUpdates()
+ {
+ log.Info("RepairChangeMasterUpdates started");
+ bool status = true;
+ try
+ {
+ Store store = Store.GetStore();
+ Domain domain = store.GetDomain(store.DefaultDomain);
+ HostNode localhostNode = HostNode.GetLocalHost();
+ if( (domain.Role == Simias.Sync.SyncRoles.Slave) &&
+ (localhostNode.IsMasterHost == true ) )
+ {
+ log.Info("Removing the Master Node Attribute from this node");
+ localhostNode.IsMasterHost = false;
+ }
+ domain.Commit(localhostNode);
+ log.Info("changes commited after repair");
+ }
+ catch (Exception ex)
+ {
+ log.Info("Exception throw while RepairChangeMasterUpdate()");
+ status = false;
+ }
+ return status;
+ }
+
+ /// <summary>
/// This method is used to set the Master server url into simias.config file.
/// </summary>
/// <returns>true/false based upon the success/failure </returns>
@@ -824,6 +888,12 @@
return true;
}
+ /// <summary>
+ /// Get the MasterNode Attribute for the host node
+ /// </summary>
+ /// <param name="HostID"> ID of the hostnode</param>
+ /// <param name="Value"> true/false for master/slave</param>
+ /// <returns> true/false for success/failure</returns>
public static bool SetMasterNodeAttribute (string HostID, bool Value)
{
try
@@ -844,6 +914,11 @@
return true;
}
+ /// <summary>
+ /// Get the MasterNode Attribute for the host node
+ /// </summary>
+ /// <param name="HostID"> ID of the hostnode</param>
+ /// <returns> true/false for master/slave</returns>
public static bool GetMasterNodeAttribute(string HostID)
{
try
@@ -859,6 +934,12 @@
}
}
+ /// <summary>
+ /// Log of all changes done after Changing the Master server
+ /// </summary>
+ /// <param name="currentMasterID"> ID of the hostnode</param>
+ /// <param name="newMasterID"> ID of the hostnode</param>
+ /// /// <returns> true/false on success/failure </returns>
public static bool VerifyChangeMaster(string currentMasterID, string newMasterID)
{
bool retval = true;
@@ -894,7 +975,6 @@
{
log.Error("Uable to verify change master");
retval = false;
- throw ex;
}
return retval;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <sp...@us...> - 2010-04-28 13:29:28
|
Revision: 7347
http://simias.svn.sourceforge.net/simias/?rev=7347&view=rev
Author: spkumar
Date: 2010-04-28 13:29:20 +0000 (Wed, 28 Apr 2010)
Log Message:
-----------
Changes to the Tool to import iFolder/directory/file to iFolder Server from backup
location
Modified Paths:
--------------
trunk/package/linux/ifolder3-enterprise.spec.autobuild
trunk/package/linux/ifolder3-enterprise.spec.in
trunk/src/server/setup/SimiasServerSetup.cs
trunk/src/utils/restore/Makefile.am
trunk/src/utils/restore/iFolderServer.cs
Added Paths:
-----------
trunk/src/utils/restore/ifolder-data-recovery.8
trunk/src/utils/restore/ifolder-data-recovery.in
Removed Paths:
-------------
trunk/src/utils/restore/FSBiFolderRestore.in
Modified: trunk/package/linux/ifolder3-enterprise.spec.autobuild
===================================================================
--- trunk/package/linux/ifolder3-enterprise.spec.autobuild 2010-04-28 04:37:24 UTC (rev 7346)
+++ trunk/package/linux/ifolder3-enterprise.spec.autobuild 2010-04-28 13:29:20 UTC (rev 7347)
@@ -185,6 +185,7 @@
%{prefix}/etc/simias/defaults.config
%{prefix}/etc/novell-ifolder3.conf
/etc/ld.so.conf.d/novell-ifolder3.conf
+/usr/share/man/man8/ifolder-data-recovery.8.gz
%changelog
* Fri May 02 2008 - sri...@no...
Modified: trunk/package/linux/ifolder3-enterprise.spec.in
===================================================================
--- trunk/package/linux/ifolder3-enterprise.spec.in 2010-04-28 04:37:24 UTC (rev 7346)
+++ trunk/package/linux/ifolder3-enterprise.spec.in 2010-04-28 13:29:20 UTC (rev 7347)
@@ -173,6 +173,7 @@
%{sysconfdir}/simias/defaults.config
%{sysconfdir}/novell-ifolder3.conf
/etc/ld.so.conf.d/novell-ifolder3.conf
+/usr/share/man/man8/ifolder-data-recovery.8.gz
%changelog
* Fri May 02 2008 - sri...@no...
Modified: trunk/src/server/setup/SimiasServerSetup.cs
===================================================================
--- trunk/src/server/setup/SimiasServerSetup.cs 2010-04-28 04:37:24 UTC (rev 7346)
+++ trunk/src/server/setup/SimiasServerSetup.cs 2010-04-28 13:29:20 UTC (rev 7347)
@@ -1476,7 +1476,7 @@
PerformOES2Upgrade();
publicUrl.Prompt = privateUrl.Prompt = serverName.Prompt = false;
privateUrl.Value = publicUrl.Value = "http://127.0.0.1:8086/simias10";
- serverName.Value = "FSBiFolderRestore-server";
+ serverName.Value = "ifrecovery-server";
useSsl.Value = "NONSSL";
return true;
}
Deleted: trunk/src/utils/restore/FSBiFolderRestore.in
===================================================================
--- trunk/src/utils/restore/FSBiFolderRestore.in 2010-04-28 04:37:24 UTC (rev 7346)
+++ trunk/src/utils/restore/FSBiFolderRestore.in 2010-04-28 13:29:20 UTC (rev 7347)
@@ -1,131 +0,0 @@
-#!/bin/sh
-
-#/*****************************************************************************
-#*
-#* Copyright (c) [2009] Novell, Inc.
-#* All Rights Reserved.
-#*
-#* This program is free software; you can redistribute it and/or
-#* modify it under the terms of version 2 of the GNU General Public License as
-#* published by the Free Software Foundation.
-#*
-#* This program is distributed in the hope that it will be useful,
-#* but WITHOUT ANY WARRANTY; without even the implied warranty of
-#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#* GNU General Public License for more details.
-#*
-#* You should have received a copy of the GNU General Public License
-#* along with this program; if not, contact Novell, Inc.
-#*
-#* To contact Novell about this file by physical or electronic mail,
-#* you may find current contact information at www.novell.com
-#*
-#*-----------------------------------------------------------------------------
-#*
-#* $Author: Sunder Ramesh (sr...@no...)
-#* $Modified by: <Modifier>
-#* $Mod Date: <Date Modified>
-#* $Revision: 0.0
-#*-----------------------------------------------------------------------------
-#* This module is used to:
-#* <Description of the functionality of the file >
-#*
-#*
-#*******************************************************************************/
-
-OS_ARCH=`uname -m | grep -c x86_64`
-if [ $OS_ARCH -gt 0 ]
-then
- export OS_ARCH=`uname -m`
-fi
-rpm -q novell-ifolder-mono > /dev/null 2>&1
-if [ $? -gt 0 ]
-then
-
- export MONO_PATH=@_webbindir_@:@_bindir_@
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:@_webbindir_@:
- export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:@_webbindir_@
- cd @_bindir_@
-else
- MONO_RUNTIME_PATH=@_bindir_@/../mono
- export MONO_PATH=$MONO_RUNTIME_PATH/lib/mono/:$MONO_RUNTIME_PATH/lib/mono/2.0:@_webbindir_@:@_bindir_@
- source $MONO_RUNTIME_PATH/bin/novell-ifolder-mono-environment.sh
- export MONO_CFG_DIR=$MONO_RUNTIME_PATH/etc
- export IFOLDER_MOD_MONO_SERVER2_PATH=@_bindir_@
- export IFOLDER_MONO_PATH=$MONO_RUNTIME_PATH
- cd @_bindir_@
-fi
-
-clear
-#echo ""
-#echo "iFolder Restore Application from file system backup"
-#echo "version 1.0.0"
-#echo ""
-#echo " ______________________________________________________________________________________"
-#echo "| |"
-#echo "| |"
-#echo "| Validating the input...................... |"
-mono @_bindir_@/FSBiFolderRestore.exe "$@" --precheck
-path_index_number=$?
-if [[ $path_index_number = 99 ]]
-then
- exit 0
-elif [[ $path_index_number -gt 99 ]]
-then
-echo "| Status:" + $path_index_number + " Input validation failed with error |"
- exit 0
-fi
-echo "| Status: Done. |"
-echo "| |"
-args=("$@")
-path=${args[$path_index_number-1]#*=}
-log4net="$path/simias/Simias.log4net"
-simiaslog="$path/simias/log/Simias.log"
-
-if [ -f $log4net ]; then
- newline=`grep -n Simias.log $log4net`
- lineno=${newline:0:`expr index "$newline" \:`-1}
- sed ''$lineno'd' -i $log4net
- sed ''$lineno'i \\t<file value="'$path'/simias/log/Simias.log" />' -i $log4net
- newline=`grep -n Simias.access.log $log4net`
- lineno=${newline:0:`expr index "$newline" \:`-1}
- sed ''$lineno'd' -i $log4net
- sed ''$lineno'i \\t<file value="'$path'/simias/log/Simias.access.log" />' -i $log4net
-else
- echo "log4net file:$log4net not found"
-
-fi
-echo -n "| Preparing for the operation.."
-@_bindir_@/simias-server-setup "${args[$path_index_number-1]}" --recover 1>$path/console.log 2>$path/console.log
-echo -n "....."
-@_bindir_@/FSBiFolderRestore-server --stop 1>$path/console.log 2>$path/console.log
-echo -n "....."
-@_bindir_@/FSBiFolderRestore-server --runasserver 1>$path/console.log 2>$path/console.log
-echo "..... |"
-echo "| Status: Done. |"
-#echo "| |"
-#echo -n "| Enter new admin password:"
-#stty -echo
-#read newpass
-#echo " |"
-#stty echo
-#echo -n "| Enter old admin password:"
-#stty -echo
-#read oldpass
-cd - 1>/dev/null
-stty echo
-#echo " |"
-echo "| |"
-mono @_bindir_@/FSBiFolderRestore.exe "$@"
-#ret=$?
-#if [[ $ret = 100 ]]
-#then
-# echo "| The recovery process completed. |"
-#else
-# echo "| The recovery process failed. Please check the logs for more details. |"
-#fi
-@_bindir_@/FSBiFolderRestore-server --stop 1>$path/console.log 2>$path/console.log
-echo "| |"
-echo " ______________________________________________________________________________________"
-exit 0
-
Modified: trunk/src/utils/restore/Makefile.am
===================================================================
--- trunk/src/utils/restore/Makefile.am 2010-04-28 04:37:24 UTC (rev 7346)
+++ trunk/src/utils/restore/Makefile.am 2010-04-28 13:29:20 UTC (rev 7347)
@@ -1,42 +1,45 @@
# handle Mono secondary dependencies
export MONO_PATH := $(MONO_PATH):$(DESTDIR)$(webbindir)
-FSBiFolderRestore_CSFILES = $(srcdir)/AssemblyInfo.cs $(srcdir)/iFolderServer.cs $(srcdir)/xmlDocProcessing.cs $(srcdir)/iFolderAdminProxy.cs $(srcdir)/iFolderWebProxy.cs ../../server/setup/Options.cs
+ifrecovery_CSFILES = $(srcdir)/AssemblyInfo.cs $(srcdir)/iFolderServer.cs $(srcdir)/xmlDocProcessing.cs $(srcdir)/iFolderAdminProxy.cs $(srcdir)/iFolderWebProxy.cs ../../server/setup/Options.cs
-FSBiFolderRestore_CSFILES_CSC := $(subst /,$(SEP),$(FSBiFolderRestore_CSFILES))
-FSBiFolderRestore_INCLUDES =
-FSBiFolderRestore_RESOURCES =
-FSBiFolderRestore_LIBS = System.dll System.Web.dll System.Web.Services.dll
-SIMIAS_WEBSERVICE_LIBS = $(SIMIAS_LIBS) /r:SimiasClient.dll /r:Simias.Discovery.Web.dll /r:Simias.Web.dll /r:SimiasLib.dll
-FSBiFolderRestore_LIBPATH=../../core/SimiasClient/ ../../server/DiscoveryWS/ ../../core/WebService/ ../../core/SimiasLib.dll/
+ifrecovery_CSFILES_CSC := $(subst /,$(SEP),$(ifrecovery_CSFILES))
+ifrecovery_INCLUDES =
+ifrecovery_RESOURCES =
+ifrecovery_LIBS = System.dll System.Web.dll System.Web.Services.dll
+SIMIAS_WEBSERVICE_LIBS = $(SIMIAS_LIBS) /r:SimiasClient.dll /r:Simias.Discovery.Web.dll /r:Simias.Web.dll /r:SimiasLib.dll
-EXTRA_DIST = FSBiFolderRestore.exe $(FSBiFolderRestore_CSFILES) AssemblyInfo.cs.in FSBiFolderRestore
+ifrecovery_LIBPATH=../../core/SimiasClient/ ../../server/DiscoveryWS/ ../../core/WebService/ ../../core/SimiasLib.dll/ ../../webservices
+EXTRA_DIST = ifrecovery.exe $(ifrecovery_CSFILES) AssemblyInfo.cs.in ifolder-data-recovery
+
AssemblyInfo.cs: $(srcdir)/AssemblyInfo.cs.in Makefile
sed -e 's,@_VERSION_@,@VERSION@,g' $< > $@
chmod +x $@
-
-all: FSBiFolderRestore.exe FSBiFolderRestore
-FSBiFolderRestore: FSBiFolderRestore.in
+all: ifrecovery.exe ifolder-data-recovery
+
+ifolder-data-recovery: ifolder-data-recovery.in
sed -e 's,@_webbindir_@,@webbindir@,g' -e 's,@_bindir_@,@bindir@,g' $< > $@
chmod +x $@
-FSBiFolderRestore.exe: $(FSBiFolderRestore_CSFILES) $(FSBiFolderRestore_RESOURCES) AssemblyInfo.cs
- $(CSC) /out:$@ $(CSCFLAGS) $(SIMIAS_WEBSERVICE_LIBS) $(FSBiFolderRestore_LIBS:%=/r:%) $(FSBiFolderRestore_LIBPATH:%=/lib:%) $(FSBiFolderRestore_RESOURCES:%=$(ICON_FLAG)%) $(FSBiFolderRestore_CSFILES_CSC)
-# $(CSC) /out:$@ $(CSCFLAGS) $(SIMIAS_LIBS) $(FSBiFolderRestore_LIBS:%=/r:%) $(FSBiFolderRestore_RESOURCES:%=$(ICON_FLAG)%) $(FSBiFolderRestore_CSFILES_CSC)
+ifrecovery.exe: $(ifrecovery_CSFILES) $(ifrecovery_RESOURCES) AssemblyInfo.cs
+ $(CSC) /out:$@ $(CSCFLAGS) $(SIMIAS_WEBSERVICE_LIBS) $(ifrecovery_LIBS:%=/r:%) $(ifrecovery_LIBPATH:%=/lib:%) $(ifrecovery_RESOURCES:%=$(ICON_FLAG)%) $(ifrecovery_CSFILES_CSC)
-install-exec-local: FSBiFolderRestore.exe FSBiFolderRestore
+install-exec-local: ifrecovery.exe ifolder-data-recovery
$(mkinstalldirs) $(DESTDIR)$(bindir)
- $(INSTALL_PROGRAM) FSBiFolderRestore.exe $(DESTDIR)$(bindir)
- $(INSTALL_PROGRAM) FSBiFolderRestore $(DESTDIR)$(bindir)
+ $(INSTALL_PROGRAM) ifrecovery.exe $(DESTDIR)$(bindir)
+ $(INSTALL_PROGRAM) ifolder-data-recovery $(DESTDIR)$(bindir)
+ $(mkinstalldirs) $(DESTDIR)/usr/share/man/man8
+ $(INSTALL_PROGRAM) ifolder-data-recovery.8 $(DESTDIR)/usr/share/man/man8/
uninstall-local:
- cd $(DESTDIR)$(bindir); rm -f FSBiFolderRestore.exe FSBiFolderRestore
+ cd $(DESTDIR)$(bindir); rm -f ifrecovery.exe ifolder-data-recovery
+ cd $(DESTDIR)/usr/share/man/man8;rm -f ifolder-data-recovery.8
installcheck-local: install
-CLEAN_FILES = FSBiFolderRestore.exe FSBiFolderRestore
+CLEAN_FILES = ifrecovery.exe ifolder-data-recovery ifolder-data-recovery.8
clean-local:
rm -rf $(CLEAN_FILES) $(COMMON_CLEAN_FILES)
Modified: trunk/src/utils/restore/iFolderServer.cs
===================================================================
--- trunk/src/utils/restore/iFolderServer.cs 2010-04-28 04:37:24 UTC (rev 7346)
+++ trunk/src/utils/restore/iFolderServer.cs 2010-04-28 13:29:20 UTC (rev 7347)
@@ -177,10 +177,13 @@
}
/// <summary>
- ///
- /// </summary>
- /// <param name="collectionID">.</param>
- /// <returns>.</returns>
+ /// Initializes the iFolderServer object.
+ /// </summary>
+ /// <param name="url">ifolder server url</param>
+ /// <param name="adminUserName">The user name for authentication.</param>
+ /// <param name="password">The password for authentication.</param>
+ /// <param name="redirect"></param>
+ /// <returns>.</returns>
public iFolderServer(string url, string adminUserName, string password, bool redirect)
{
PublicUrl = url;
@@ -188,11 +191,7 @@
adminPassword = password;
adminNameForAuth = adminUserName;
adminPasswordForAuth = password;
- /* admin = new iFolderAdmin();
- admin.Url = this.PublicUrl + "/iFolderAdmin.asmx";
- admin.PreAuthenticate = true;
- admin.Credentials = new NetworkCredential(this.adminNameForAuth, this.adminPasswordForAuth);
- */
+
web = new iFolderWeb();
web.Credentials = new NetworkCredential(this.adminNameForAuth, this.adminPasswordForAuth);
web.Url = this.PublicUrl + "/iFolderWeb.asmx";
@@ -207,8 +206,7 @@
adminNameForAuth = Convert.ToBase64String(EncodedCredInByte);
EncodedCredInByte = utf8Name.GetBytes(adminPassword);
adminPasswordForAuth = Convert.ToBase64String(EncodedCredInByte);
- // admin.Credentials = new NetworkCredential(this.adminNameForAuth, this.adminPasswordForAuth);
- web.Credentials = new NetworkCredential(this.adminNameForAuth, this.adminPasswordForAuth);
+ web.Credentials = new NetworkCredential(this.adminNameForAuth, this.adminPasswordForAuth);
if( !this.CheckCredentials() )
{
@@ -231,6 +229,8 @@
catch(Exception ex1)
{
MainClass.DebugLog.Write(string.Format("Exception: while getting homeServer for admin. May be Invalid credentials. {0}", ex1.Message));
+ /*TBD: Can we continue to restore in case if this exception occurs?
+ * Or should the tool throw error and come out */
}
}
MainClass.DebugLog.Write(string.Format("The public url is: {0}", this.PublicUrl));
@@ -239,7 +239,7 @@
admin.Credentials = new NetworkCredential(this.adminNameForAuth, this.adminPasswordForAuth);
admin.Url = this.PublicUrl + "/iFolderAdmin.asmx";
admin.PreAuthenticate = true;
-
+/*TBD: web is already initialized above. The following lines look invalid*/
web = new iFolderWeb();
web.Credentials = new NetworkCredential(this.adminNameForAuth, this.adminPasswordForAuth);
web.Url = this.PublicUrl + "/iFolderWeb.asmx";
@@ -271,10 +271,10 @@
}
/// <summary>
- ///
- /// </summary>
- /// <param name="collectionID">.</param>
- /// <returns>.</returns>
+ /// Validates the credentials for the user.
+ /// </summary>
+ /// <param ></param>
+ /// <returns>true if valid credentials and false if the .</returns>
public bool CheckCredentials()
{
bool status = false;
@@ -305,12 +305,12 @@
return status;
}
-
+
/// <summary>
- ///
- /// </summary>
- /// <param name="collectionID">.</param>
- /// <returns>.</returns>
+ /// Check if the server is up
+ /// </summary>
+ /// <param >.</param>
+ /// <returns>true if the server is up, false otherwise.</returns>
public bool PingServer()
{
bool retVal = false;
@@ -334,12 +334,11 @@
}
return retVal;
}
-
/// <summary>
- ///
- /// </summary>
- /// <param name="collectionID">.</param>
- /// <returns>.</returns>
+ /// Creates a new iFolder with the given name.
+ /// </summary>
+ /// <param ></param>
+ /// <returns>true if sucess and false otherwise .</returns>
public bool CreateiFolderWithID(string iFolderName, string OwnerUserID, string description, string iFolderID)
{
bool status = false;
@@ -377,12 +376,11 @@
}
return status;
}
-
/// <summary>
- ///
- /// </summary>
- /// <param name="collectionID">.</param>
- /// <returns>.</returns>
+ /// Creates a new encrypted iFolder with the given name.
+ /// </summary>
+ /// <param ></param>
+ /// <returns>true if sucess and false otherwise .</returns>
public bool CreateEncryptediFolderWithID(string iFolderName, string OwnerUserID, string description, string iFolderID, string eKey, string eBlob, string eAlgorithm, string rKey)
{
MainClass.DebugLog.Write("Enter: Function CreateEncryptediFolderWithID");
@@ -424,12 +422,11 @@
MainClass.DebugLog.Write("Exit: Function CreateEncryptediFolderWithID");
return status;
}
-
/// <summary>
- ///
- /// </summary>
- /// <param name="collectionID">.</param>
- /// <returns>.</returns>
+ /// Returns the Home Server for the given user.
+ /// </summary>
+ /// <param ></param>
+ /// <returns>true if sucess and false otherwise .</returns>
public string GetHomeServer(string userName)
{
MainClass.DebugLog.Write("Enter: Function GetHomeServer");
@@ -470,10 +467,10 @@
}
/// <summary>
- ///
- /// </summary>
- /// <param name="collectionID">.</param>
- /// <returns>.</returns>
+ /// Returns the userId from the user name.
+ /// </summary>
+ /// <param ></param>
+ /// <returns>user id if success , null otherwise.</returns>
public string GetUserIDFromName(string UserName)
{
MainClass.DebugLog.Write("Enter: Function GetUserIDFromName");
@@ -518,10 +515,10 @@
}
/// <summary>
- ///
- /// </summary>
- /// <param name="collectionID">.</param>
- /// <returns>.</returns>
+ /// Searches and returns the users.
+ /// </summary>
+ /// <param ></param>
+ /// <returns></returns>
public iFolderUserSet GetUsersBySearch( int currentOffset, int count)
{
MainClass.DebugLog.Write("Enter: Function GetUsersBySearch");
@@ -574,7 +571,6 @@
{
if(ex.Message.IndexOf("InvalidOperation") >= 0)
{
- //Console.Error.WriteLine("Exception here man. trying again......");
count++;
continue;
}
@@ -585,7 +581,7 @@
MainClass.DebugLog.Write("Exit: Function GetAllCollectionIDsByUser");
return collections;
}
-
+//TBD: Need to provide the correct comments
/// <summary>
///
/// </summary>
@@ -617,7 +613,7 @@
MainClass.DebugLog.Write("Exit: Function GetiFolder");
return folder;
}
-
+//TBD: Need to provide the correct comments
/// <summary>
///
/// </summary>
@@ -656,7 +652,7 @@
MainClass.DebugLog.Write("Exit: Function GetMembers");
return users;
}
-
+//TBD: Need to provide the correct comments
/// <summary>
///
/// </summary>
@@ -696,7 +692,7 @@
MainClass.DebugLog.Write("Exit: Function RemoveMember");
return status;
}
-
+//TBD: Need to provide the correct comments
/// <summary>
///
/// </summary>
@@ -740,7 +736,7 @@
MainClass.DebugLog.Write("Exit: Function AddMember");
return status;
}
-
+//TBD: Need to provide the correct comments
public iFolderEntry GetEntry(string ifolderid, string nodeid)
{
iFolderEntry entry = null;
@@ -771,7 +767,7 @@
}
return entry;
}
-
+//TBD: Need to provide the correct comments
public iFolderEntrySet GetEntries(string ifolderid, string nodeid, int start, int end)
{
iFolderEntrySet entries = null;
@@ -802,7 +798,7 @@
}
return entries;
}
-
+//TBD: Need to provide the correct comments
public iFolderDetails GetiFolderDetails(string ifolderid)
{
iFolderDetails ifolder = null;
@@ -833,7 +829,7 @@
}
return ifolder;
}
-
+//TBD: Need to provide the correct comments
public iFolderUser GetAuthenticatedUser()
{
iFolderUser user = null;
@@ -865,42 +861,8 @@
}
return user;
}
- /*
- public int RestoreiFolderDataFromFile(string filepath, string basepath)
- {
- int retval = -1;
- try
- {
- int count = 0;
- while (count < MaxCount)
- {
- try
- {
- retval= simws.RestoreiFolderDataFromFile(filepath, basepath);
- break;
- }
- catch (Exception ex)
- {
- MainClass.DebugLog.Write(string.Format("Exception: {0}--{1}", ex.Message, ex.StackTrace));
- if(ex.Message.IndexOf("InvalidOperation") >= 0 || ex.StackTrace.IndexOf("InvalidOperation") >= 0)
- {
- count++;
- continue;
- }
- throw ex;
- }
- }
-
- }
- catch(Exception ex)
- {
- MainClass.DebugLog.Write(string.Format("Exception in RestoreiFolderDataFromFile: {0}--{1}", ex.Message, ex.StackTrace));
- retval = (int)status.FailedRestoreWebCall;
- }
- return retval;
- }
- */
-
+
+//TBD: Need to provide the correct comments
public int SetRestoreStatusForCollection(string ifolderid, int restorestatus, int totalcount, int finishedcount)
{
int retval = -1;
@@ -936,7 +898,7 @@
}
-
+//TBD: Need to provide the correct comments
public int GetRestoreStatusForCollection(string ifolderid, out int totalcount, out int finishedcount)
{
int retval = -1;
@@ -973,7 +935,7 @@
}
return retval;
}
-
+//TBD: Need to provide the correct comments
public iFolderEntry GetEntryByPath(string ifolderid, string parentdir)
{
iFolderEntry entry = null;
@@ -1004,7 +966,7 @@
}
return entry;
}
-
+//TBD: Need to provide the correct comments
public iFolderEntry CreateEntry(string ifolderid, string ParentEntryID, iFolderEntryType type, string name)
{
iFolderEntry entry = null;
@@ -1035,7 +997,7 @@
}
return entry;
}
-
+//TBD: Need to provide the correct comments
/// <summary>
///
/// </summary>
@@ -1084,7 +1046,7 @@
}
-
+//TBD: Need to provide the correct comments
/// <summary>
///
/// </summary>
@@ -1193,7 +1155,7 @@
MainClass.DebugLog.Write("Exit: Function UploadFile");
return retValue;
}
-
+//TBD: Need to provide the correct comments
/// <summary>
///
/// </summary>
@@ -1246,7 +1208,7 @@
if(!IsEntryNodeFile )
{
iFolderEntrySet entries = null;
- //-1 inidcate to fetch record from index 0 till end
+ //-1 indicate to fetch record from index 0 till end
entries = GetEntries(iFolderid, entryID, 0,-1);
foreach(iFolderEntry child in entries.Items)
{
@@ -1269,136 +1231,8 @@
} //End of function WriteXMLDocument
- /// <summary>
- ///
- /// </summary>
- /// <param name="collectionID">.</param>
- /// <returns>.</returns>
- /*
- public int ReadXMLDocumentandRestore(string ifolderID, string filepath, string basepath, bool usewebaccess)
- {
- MainClass.DebugLog.Write(string.Format("Enter: Function ReadXMLDocumentandRestore: usewebaccess: {0} basepath: {1} filepath: {2}", usewebaccess, basepath, filepath));
- int retValue = (int)status.Success;
-
- if( File.Exists( filepath ) == false)
- {
- MainClass.DebugLog.Write(string.Format("The output xml file {0} not present.", filepath));
- retValue = (int)status.InvalidXMLFileLocation;
- }
-
- if( !usewebaccess)
- {
- int retval = this.RestoreiFolderDataFromFile(filepath, basepath);
- if( retval == 0 && retValue == (int)status.Success)
- {
- int result = -1;
- do
- {
- result = 0;//this.GetRestoreStatusForCollection(ifolderID);
- MainClass.DebugLog.Write(string.Format("Fetching Restore Status: End and result is:{0}",result.ToString()));
- //TODO: Verify the thread sleep time
- Thread.Sleep(1000);
- int totalitems = 0, remainingitems= 0;
- string stat = "";//MainClass.xmlObj.VerifyStatus( out totalitems, out remainingitems);
- Console.Write("\r");
- Console.Write("| Restoring {0} of {1} files... |", totalitems-remainingitems, totalitems);
- }while(result == 1);
-
- if(result == 0)
- retValue = (int)status.Success;
- }
- MainClass.DebugLog.Write(string.Format("Exit: RestoreiFolderDataFromFile in case of usewebaccess is False and with status:{0}", retValue));
- }
- else
- {
- //Load XML document and read record
- XmlDocument entryDoc = new XmlDocument();
- entryDoc.Load(MainClass.xmlFileLoc);
- XmlElement element = (XmlElement)entryDoc.DocumentElement.SelectSingleNode("Files");
- XmlNodeList nodeList = element.GetElementsByTagName("file");
- string ifolderid = null;
- string nodeid = null;
- string relativepath = null;
- string type = null;
- //string filename= null;
- string length= null;
- string fullpath = null;
- string filestatus = null;
-
- retValue = (int)status.Success;
- int count = 0;
- foreach (XmlNode node in nodeList)
- {
- count++;
- Console.Write("\r");
- Console.Write("| Restoring {0} of {1} files... |", count, MainClass.TotalItems);
- bool FileMovedStatus = false;
- try
- {
- ifolderid = ((XmlElement)node).GetAttribute("ifolderID");
- nodeid = ((XmlElement)node).GetAttribute("nodeID");
- relativepath = ((XmlElement)node).GetAttribute("relativepath");
- type = ((XmlElement)node).GetAttribute("type");
- //filename = ((XmlElement)node).GetAttribute("filename");
- length= ((XmlElement)node).GetAttribute("nodelength");
- filestatus = ((XmlElement)node).GetAttribute("status");
- MainClass.DebugLog.Write(string.Format("In ReadXMLDocuemntandRestore function ifolderID:{0}--nodeID:{1}--relativepath:{2}--type:{3}--fullpath:{4} length:{5}",ifolderid,nodeid,relativepath,type,fullpath,length));
- if( filestatus != null && filestatus.Equals("Completed"))
- {
- MainClass.DebugLog.Write(string.Format("File {0} already restored. {0}", relativepath));
- continue;
- }
-
- fullpath = Path.Combine(basepath, relativepath);
-
- if (type.Equals("DirNode"))
- {
- //Call Web API to Create Dir
- // UploadFolder(ifolderid, nodeid, Folder, basePath);
- MainClass.DebugLog.Write("Directory Creation");
- if(!CreateDirectory(ifolderid, relativepath))
- {
- MainClass.DebugLog.Write(string.Format("Directory Creation failed for folder {0}-{1}-{2}", ifolderid, relativepath, (int)status.DirCreationFailed));
- //retValue = (int)status.DirCreationFailed;
- }
- else
- FileMovedStatus = true;
- }
- else
- {
- //Call Web API to Create File
- if( File.Exists( fullpath ) == false)
- {
- MainClass.DebugLog.Write(string.Format("The source file: {0} does not exist.", fullpath));
- }
- else if(!UploadFile( ifolderid, fullpath, relativepath, int.Parse(length)))
- {
- MainClass.DebugLog.Write(string.Format("File Creation failed for folder {0}-{1}-{2}", ifolderid, relativepath, fullpath));
- //retValue = (int)status.FileUploadFailed;
- }
- else
- FileMovedStatus = true;
- }
-
- //TODO: Verfiy that Web API make sure to create iFolder, if given iFolder ID doesn't exist
- //TODO: Verification of node creation, has been done by Creation API
- }
- catch(Exception e1)
- {
- MainClass.DebugLog.Write(string.Format("Error while creating entry for filename: {0}: {1} -- {2}", relativepath, e1.Message, e1.StackTrace));
- }
- //Hence after successfull retrun, update the XML doc status to "Completed"
- if( FileMovedStatus )
- MainClass.xmlObj.updateEntryFromXml( ((XmlElement)node).GetAttribute("nodeID"),"status","Completed" );
- else
- MainClass.xmlObj.updateEntryFromXml( ((XmlElement)node).GetAttribute("nodeID"),"status", "Failed");
- }
- }
- MainClass.DebugLog.Write("Exit: Function ReadXMLDocumentandRestore");
- return retValue;
- } //End of function ReadXMLDocumentandRestore
- */
-
+
+//TBD: Need to provide the correct comments
public NodeEntrySet GetEntries(string ifolderID, int type, string relPath, int index, int max, string accessID)
{
int count = 0;
@@ -1424,10 +1258,8 @@
break;
}while(count < MaxCount);
return entryset;
- //return (NodeEntry[])(entryset.Items);
- //return entries;
}
-
+//TBD: Need to provide the correct comments
public int RestoreiFolderData(string url, string adminname, string adminpassword, string ifolderid, string relativepath, string basepath, int startindex)
{
int retval =-1;
@@ -1453,7 +1285,7 @@
}
return retval;
}
-
+//TBD: Need to provide the correct comments
public int GetRestoreStatus(string ifolderid, out int totalcount, out int finishedcount)
{
int retval =-1;
@@ -1489,20 +1321,18 @@
private string[] args;
public Option OldAdminNameOption = new Option("backup-admin,U", "Admin Name of backup", "Admin name of backup", true, "admin");
- public Option NewAdminNameOption = new Option("current-admin,u", "Admin Name of current server", "Admin name of current server", true, "admin");
+ public Option NewAdminNameOption = new Option("current-admin,u", "Admin Name of current server", "Admin name of current server", false, "admin");
public Option OldAdminPasswordOption = new Option("backup-password,P", "Admin Password of backup", "Admin password of backup", true, "novell");
public Option NewAdminPasswordOption = new Option("current-password,p", "Admin Password of current server", "Admin Password of current server", true, "novell");
public Option RelativePathOption = new Option("relative-path", "relativepath of file folder", "relativepath of file folder", true, "/Default_iFolder/");
public Option CurrentServerUrlOption = new Option("server-url", "current server IP", "current server IP", true, "http://127.0.0.1");
- public Option iFolderIDOption = new Option("ifolderid", "ID of ifolder to be restored", "ID of ifolder to be restored", true, "null");
- // public Option nodeIDOption = new Option("nodeid", "ID of file/folder to be restored", "ID of file/folder to be restored", true, "null");
- public Option UserNameOption = new Option("of-user", "username for ifolder to be listed", "username for ifolder to be listed", true, "admin");
-// public Option UserIDOption = new Option("userid", "userID for ifolder to be listed", "userID for ifolder to be listed", true, "null");
+ public Option iFolderIDOption = new Option("ifolder-id", "ID of ifolder to be restored", "ID of ifolder to be restored", true, "null");
+ public Option UserNameOption = new Option("user", "username for ifolder to be listed", "username for ifolder to be listed", true, "admin");
public Option RecoverOption = new Option( "restore,r", "flag that tells that this is a restore scenario", "flag that tells that this is a restore scenario", false, null);
public Option RetryOption = new Option( "retry", "flag that tells that this is a retry scenario", "flag that tells that this is a retry scenario", false, null);
public Option PathOption = new Option( "path,f", "The path where the data is present", "Location of old database", true, null);
public Option HelpOption = new Option( "help,h", "cli help", null, false, null);
- //public Option OverrideOption = new Option( "override", "override present with previous iter", null, false, null);
+ public Option UsageOption = new Option( "usage", "prints the usage of the tool", null, false, null);
public Option DataLocationOption = new Option( "ifolder-path", "The path where the folder data is present", "Location of actual ifolder data in backup databse", true, null);
public Option PrecheckOption = new Option( "precheck", "precheck phase", null, false, null);
public Option ListingOption = new Option( "list,l", "listing ifolder for user", null, false, null);
@@ -1521,12 +1351,9 @@
RelativePathOption.OnOptionEntered = new Option.OptionEnteredHandler( OnRelativePath );
CurrentServerUrlOption.OnOptionEntered = new Option.OptionEnteredHandler( OnCurrentServerUrl );
iFolderIDOption.OnOptionEntered = new Option.OptionEnteredHandler( OniFolderID);
- //nodeIDOption.OnOptionEntered = new Option.OptionEnteredHandler( OnNodeID);
UserNameOption.OnOptionEntered = new Option.OptionEnteredHandler( OnUserName);
- // UserIDOption.OnOptionEntered = new Option.OptionEnteredHandler( OnUserID);
PathOption.OnOptionEntered = new Option.OptionEnteredHandler( OnPath );
HelpOption.OnOptionEntered = new Option.OptionEnteredHandler( OnHelp);
- //OverrideOption.OnOptionEntered = new Option.OptionEnteredHandler( OnOverride);
DataLocationOption.OnOptionEntered = new Option.OptionEnteredHandler( OnDataLocation);
PrecheckOption.OnOptionEntered = new Option.OptionEnteredHandler( OnPrecheck);
ListingOption.OnOptionEntered = new Option.OptionEnteredHandler( OnListing);
@@ -1539,12 +1366,12 @@
/// <summary>
- ///
- /// </summary>
- /// <param name="collectionID">.</param>
- /// <returns>.</returns>
- public bool ParseArguments()
- {
+ ///
+ /// </summary>
+ /// <param name="collectionID">.</param>
+ /// <returns>.</returns>
+ public bool ParseArguments()
+ {
bool status = false;
try
{
@@ -1557,18 +1384,21 @@
}
return status;
- } //End of ParseArguments Function
+ } //End of ParseArguments Function
- private bool OnOldAdminName()
- {
+ private bool OnOldAdminName()
+ {
MainClass.oldAdminName = OldAdminNameOption.Value;
+ if (MainClass.useSameAdminName == true)
+ MainClass.newAdminName = OldAdminNameOption.Value;
return true;
- }
+ }
private bool OnNewAdminName()
{
MainClass.newAdminName = NewAdminNameOption.Value;
+ MainClass.useSameAdminName = false;
return true;
}
@@ -1623,23 +1453,15 @@
return true;
}
- /* private bool OnNodeID()
- {
- MainClass.nodeID = nodeIDOption.Value;
- return true;
- }*/
+
private bool OnUserName()
{
MainClass.userName = UserNameOption.Value;
return true;
}
- /* private bool OnUserID()
- {
- MainClass.userID = UserIDOption.Value;
- return true;
- }*/
+
private bool OnPath()
{
@@ -1659,16 +1481,7 @@
return true;
}
- /*
- private bool OnOverride()
- {
- MainClass.DebugLog.Write("Enter: Function OnOverride");
- MainClass.Override = OverrideOption.Value;
- MainClass.DebugLog.Write("Exit: Function OnOverride");
- return true;
- }
- */
private bool OnPrecheck()
{
MainClass.PrecheckFlag = true;
@@ -1721,6 +1534,7 @@
public static string oldAdminName = null;
public static string newAdminName = null;
+ public static bool useSameAdminName = true;
public static string oldAdminPassword = null;
public static string newAdminPassword = null;
public static string relativePath = null;
@@ -1801,9 +1615,8 @@
}
if( !parseResult )
{
- //MainClass.DebugLog.Write(string.Format("Input parameters format incorrect and exit status is:{0}.","InvalidFormat"));
Console.WriteLine("| Incorrect Input parameters. \n\n");
- PrintHelp();
+ PrintHelp();
return (int)status.InvalidFormat;
}
/// In case of help operation, print help and exit.
@@ -1813,20 +1626,22 @@
RestoreStatus = (int)status.Help;
return RestoreStatus;
}
- /*
- string loglocation = Utility.ReadModMonoConfiguration();
- if( Directory.Exists( loglocation))
- LogLocation = loglocation;
- else if( Directory.Exists( LogLocation ) == false)
- LogLocation = Directory.GetCurrentDirectory();
- DebugLog = new Logger(Path.Combine(LogLocation, "debug.log"));
- */
if( PrecheckFlag == false)
{
//Echo for backup admin and current admin credentials
- oldAdminPassword = ForPasswordString("| Enter backup admin password:", null);
- newAdminPassword = ForPasswordString("\n| Enter current admin password:",null);
+
+ if (MainClass.useSameAdminName == true)
+ {
+
+ newAdminPassword = ForPasswordString(string.Format("| Password for user( {0} ):",MainClass.newAdminName),null);
+ oldAdminPassword = newAdminPassword;
+ }
+ else
+ {
+ oldAdminPassword = ForPasswordString(string.Format("| Password for user( {0} ):",MainClass.oldAdminName),null);
+ newAdminPassword = ForPasswordString(string.Format("\n| Password for user( {0} ):",MainClass.newAdminName),null);
+ }
}
if( (RestoreStatus = ValidateInput(PrecheckFlag)) != 0)
@@ -2092,9 +1907,7 @@
{
try
{
- //Utility.GetApacheUserGroup( out apacheUser, out apacheGroup);
- //if( Utility.Execute( "chown", " -R {0}:{1} \"{2}\"", apacheUser, apacheGroup, newifolderDetails.UnManagedPath ) != 0 )
- Utility.Execute( "chmod", "0777 {0}", path);
+ Utility.Execute( "chmod", "0777 {0}", path);
}
catch(Exception ex)
{
@@ -2396,39 +2209,7 @@
{
iFolderServer OldServer = new iFolderServer( OldServerUrl,oldAdminName, oldAdminPassword, false);
iFolderDetails ifd = null;
- //Praveen
-/*
- iFolderUserSet userList = null;
- userList = OldServer.GetUsersBySearch(0,100);
- if( userList == null || userList.Items.Length == 0)
- {
- Console.WriteLine("| Failed to get User List");
- } else {
- foreach( iFolderUser member in userList.Items)
- {
- Console.WriteLine("| User Name: {0} and User ID: {1} |", member.UserName, member.ID );
-
- }
- }
- // Get the iFolder list for this user.
-
- iFolderSet iflist = null;
- iflist = OldServer.web.GetiFoldersByName(SearchOperation.Contains, "*",0,100);
- if( iflist == null || iflist.Items.Length == 0)
- {
- Console.WriteLine("| Failed to get iFolder List");
- } else {
- foreach( iFolder ifldr in iflist.Items)
- {
- Console.WriteLine("| iFolder Name: {0} and iFolder ID: {1} |", ifldr.Name, ifldr.ID );
-
- }
- }
-
-
- //Praveen
-*/
userID = OldServer.GetUserIDFromName(userName);
if(userID == null)
{
@@ -2879,8 +2660,7 @@
}
fullpath = Path.Combine(oldpath, filerelativepath);
- // Console.WriteLine("Full path is :{0}", fullpath);
- if (Type.Equals("DirNode"))
+ if (Type.Equals("DirNode"))
{
//MainClass.DebugLog.Write("Directory Creation");
if(!newserver.CreateDirectory(iFolderID, filerelativepath))
@@ -2931,7 +2711,7 @@
try
{
entryset = oldserver.GetEntries(iFolderID, type, relativepath, startindex, max, null);
- //entries = (NodeEntry[])entryset.Items;
+
}
catch( Exception ex)
{
@@ -3041,39 +2821,38 @@
public static void PrintHelp()
{
- Console.WriteLine("Command For Execution: $FSBiFolderRestore <Operation> <Arguments>\n");
+ Console.WriteLine("Command For Execution: $ifolder-data-recovery <Operation> <Arguments>\n");
Console.WriteLine("Operation:\n\t-l, --list\t\tList iFolders with details like Name, iFolderID and Path \n\t\t\t(at the time of backup) belong to the specified user.");
Console.WriteLine("\t-r, --restore\tRestore requested data (File/Folder/iFolder) from specified backup store.");
Console.WriteLine("\t--retry\t\tRetry restore opreation for failed data in last run.");
Console.WriteLine("\t-h, --help\t\tPrint help regarding Opreation, argument and usage.");
Console.WriteLine("\t\nArguments:\n\t--path=<path for simias file in backup store>");
- Console.WriteLine("\t-U, --backup-admin=<admin login name for backup>");
- Console.WriteLine("\t-u,--current-admin=<admin login name for current server>");
- Console.WriteLine("\t--serverurl=<current iFolder server url>");
- Console.WriteLine("\t--of-user=<user for whome associated ifolders to be listed>");
- Console.WriteLine("\t--userid=<user ID of user for whome associated ifolder to be listed>");
+ Console.WriteLine("\t-U, --backup-admin=<admin login name for backup. >");
+ Console.WriteLine("\t-u,--current-admin=<admin login name for current server. Use this Option if backup admin is different from current admin.>");
+ Console.WriteLine("\t--server-url=<current iFolder server url>");
+ Console.WriteLine("\t--user=<user for whome associated ifolders to be listed>");
Console.WriteLine("\t--ifolder-id=<ifolder ID of for/inside which restore operation is performed>");
Console.WriteLine("\t--ifolder-path=<parent level path(excluding ifolder name) for actual data to be restored>");
- Console.WriteLine("\t--relativepath=<relative path of file/folder to be restored, starting from iFolder name>");
+ Console.WriteLine("\t--relative-path=<relative path of file/folder to be restored, starting from iFolder name>");
Console.WriteLine("\t--usewebaccess does not take any value, adding this will specifies the mode to restore");
- Console.WriteLine("\t\nSample Commands:");
+ Console.WriteLine("\t\nExamples:");
Console.WriteLine("\n\tFor Help:");
- Console.WriteLine("\t\t$./novell-ifolder-restore --help");
+ Console.WriteLine("\t\t$./ifolder-data-recovery --help");
Console.WriteLine("\n\tFor Listing iFolder for given user:");
- Console.WriteLine("\t\t$./novell-ifolder-restore --list --path=/home/ifolder/SimiasFile/ --backupadmin=admin --username=user1");
+ Console.WriteLine("\t\t$./ifolder-data-recovery --list --path=/home/ifolder/SimiasFile/ --backup-admin=admin --user=user1");
Console.WriteLine("\n\tFor Restoring iFolder:");
- Console.WriteLine("\t\t$./FSBiFolderRestore --restore --path=/home/ifolder/SimiasFile/ --backupadmin=admin --currentadmin=admin --serverurl=http://192.162.1.10 --ifolderid=7fe6cd5d-40d4-4982-bfa3-94292d4e36ab --ifolderpath=/home/ifolder/recovery/data");
+ Console.WriteLine("\t\t$./ifolder-data-recovery --restore --path=/home/ifolder/SimiasFile/ --backup-admin=oldadmin --current-admin=admin --server-url=http://192.162.1.10 --ifolder-id=7fe6cd5d-40d4-4982-bfa3-94292d4e36ab --ifolder-path=/home/ifolder/recovery/data");
Console.WriteLine("\n\tFor Restoring Folder:");
- Console.WriteLine("\t\t$./FSBiFolderRestore --restore --path=/home/ifolder/SimiasFile/ --backupadmin=admin --currentadmin=admin --serverurl=http:///192.162.1.10 --ifolderid=7fe6cd5d-40d4-4982-bfa3-94292d4e36ab --ifolderpath=/home/ifolder/recovery/data --relativepath=abc1if1/new folder");
+ Console.WriteLine("\t\t$./ifolder-data-recovery --restore --path=/home/ifolder/SimiasFile/ --backup-admin=oldadmin --current-admin=admin --server-url=http://192.162.1.10 --ifolder-id=7fe6cd5d-40d4-4982-bfa3-94292d4e36ab --ifolder-path=/home/ifolder/recovery/data --relative-path=abc1if1/new folder");
Console.WriteLine("\n\tFor Restoring File:");
- Console.WriteLine("\t\t$./FSBiFolderRestore --restore --path=/home/ifolder/SimiasFile/ --backupadmin=admin --currentadmin=admin --serverurl=http:///192.162.1.10 --ifolderid=7fe6cd5d-40d4-4982-bfa3-94292d4e36ab --ifolderpath=/home/ifolder/recovery/data --relativepath=abc1if1/new folder/qfrep.exe");
+ Console.WriteLine("\t\t$./ifolder-data-recovery --restore --path=/home/ifolder/SimiasFile/ --backup-admin=oldadmin --current-admin=admin --server-url=http://192.162.1.10 --ifolder-id=7fe6cd5d-40d4-4982-bfa3-94292d4e36ab --ifolder-path=/home/ifolder/recovery/data --relative-path=abc1if1/new folder/qfrep.exe");
Console.WriteLine("\n\tFor Retrying:");
- Console.WriteLine("\t\t$./FSBiFolderRestore --retry --path=/home/ifolder/SimiasFile/ --backupadmin=admin --currentadmin=admin --serverurl=http:///192.162.1.10 --ifolderid=7fe6cd5d-40d4-4982-bfa3-94292d4e36ab --ifolderpath=/home/ifolder/recovery/data --relativepath=abc1if1/qfrep.exe\n");
+ Console.WriteLine("\t\t$./ifolder-data-recovery --retry --path=/home/ifolder/SimiasFile/ --backup-admin=oldadmin --current-admin=admin --server-url=http://192.162.1.10 --ifolder-id=7fe6cd5d-40d4-4982-bfa3-94292d4e36ab --ifolder-path=/home/ifolder/recovery/data --relative-path=abc1if1/qfrep.exe\n");
}
@@ -3342,7 +3121,7 @@
if( dataPath != null)
{
dataPath = Path.Combine( dataPath, "log");
- dataPath = Path.Combine( dataPath, "FSBRestoreLog");
+ dataPath = Path.Combine( dataPath, "ifrecovery");
if( Directory.Exists(dataPath) == false)
Directory.CreateDirectory( dataPath);
}
Added: trunk/src/utils/restore/ifolder-data-recovery.8
===================================================================
--- trunk/src/utils/restore/ifolder-data-recovery.8 (rev 0)
+++ trunk/src/utils/restore/ifolder-data-recovery.8 2010-04-28 13:29:20 UTC (rev 7347)
@@ -0,0 +1,137 @@
+.\" Title: ifolder-data-recovery
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/>
+.\" Date: 04/28/2010
+.\" Manual: ifolder-data-recovery(8)
+.\" Source:
+.\"
+.TH "IFOLDER\-DATA\-RECOVERY" "8" "04/28/2010" "" "ifolder\-data\-recovery(8)"
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.SH "NAME"
+ifolder\-data\-recovery \- iFolder restore tool
+.SH "SYNTAX"
+.sp
+.RS 4
+.nf
+ifolder\-data\-recovery <\fIOperation\fR> <\fIOptions\fR>
+.fi
+.RE
+.SH "DESCRIPTION"
+.PP
+Use this tool to restore a backed\-up file, folder, or iFolder for any user. If an administrator has performed regular or incremental file system backups of all iFolder system data on the server, the data can be restored with this tool. Data can be restored in its entirety or even at a granular level like a particular file or a folder. The restore tool also enables you to restore encrypted iFolders.
+.PP
+To restore using the tool, you must first restore the required content to a temporary location and then you must run the tool from the same place. You must ensure that the restored content retains the same rights or permissions that was assigned during the time of backup.
+.SH "OPERATIONS"
+.PP
+\-l, \-\-list
+.RS 4
+Lists iFolders owned by the specified user and details such as Name, iFolderID, and Path (at the time of backup)
+.RE
+.PP
+\-r, \-\-restore
+.RS 4
+Restores the requested data (File/Folder/iFolder) from the specified backup store or location
+.RE
+.PP
+\-\-retry
+.RS 4
+Resumes the restore operation that failed in the last run
+.RE
+.PP
+\-h, \-\-help
+.RS 4
+Displays help for the operation, options, and usage
+
+.RE
+.SH "OPTIONS"
+.PP
+\-f, \-\-path=
+.RS 4
+Path of the
+\fIsimias\fR
+files in the backup store. The
+\fIsimias\fR
+files must be present in a directory named
+\fIsimias\fR. The path must be the absolute path to the
+\fIsimias\fR
+directory.
+.RE
+.PP
+\-U, \-\-backup\-admin=
+.RS 4
+Login name of the Administrator who performed the backup
+.RE
+.PP
+\-P, \-\-backup\-password=
+.RS 4
+Password of the Administrator who performed the backup
+.RE
+.PP
+\-u, \-\-current\-admin=
+.RS 4
+Administrator login name for the current server
+.RE
+.PP
+\-p, \-\-current\-password=
+.RS 4
+Password of the current server\(cqs Administrator
+.RE
+.PP
+\-\-server\-url=
+.RS 4
+URL of the server where data is to be restored
+.RE
+.PP
+\-\-user=
+.RS 4
+Username or ID of the user for whom the specified operation is to be performed
+.RE
+.PP
+\-\-ifolder\-id=
+.RS 4
+ID of the iFolder for which the specified operation is to be performed
+.RE
+.PP
+\-\-ifolder\-path=
+.RS 4
+Absolute path (excluding the iFolder name) of the actual data to be restored
+.RE
+.PP
+\-\-relative\-path=
+.RS 4
+Relative path of the file or folder to be restored, starting from the iFolder name
+.RE
+.PP
+\-\-usewebaccess
+.RS 4
+Specifies the mode to restore. Does not take any value.
+.RE
+.SH "EXAMPLES"
+.PP
+ifolder\-data\-recovery \-\-help
+.RS 4
+Displays help
+.RE
+.PP
+ifolder\-data\-recovery \-l \-f <path of simias file in backup store> \-U <admin login name for backup> \-P <password of the backup admin> \-user=<username or ID of the user>
+.RS 4
+Lists iFolders for a specified user
+.RE
+.PP
+ifolder\-data\-recovery \-r \-f <path of simias file in backup store> \-U <admin login name for backup> \-P <password of the backup admin> \-u <admin login name for current server> \-p <password of the current server\(cqs admin> \-\-server\-url=<current ifolder server url> \-\-ifolder\-id=<ID of the iFolder for which restore operation is performed> \-\-ifolder\-path=<Parent level path for actual data to be restored>
+.RS 4
+Restores an iFolder
+.RE
+.PP
+ifolder\-data\-recovery \-r \-f <path of simias file in backup store> \-U <admin login name for backup> \-P <password of the backup admin> \-u <admin login name for current server> \-p <password of the current server\(cqs admin> \-\-server\-url=<current ifolder server url> \-\-ifolder\-id=<ID of the iFolder for which restore operation is performed> \-\-ifolder\-path=<Parent level path for actual data to be restored> \-\-relative\-path=<Relative path of file or folder to be restored>
+.RS 4
+Restores a file or folder
+.RE
+.PP
+ifolder\-data\-recovery \-\-retry \-f <path of simias file in backup store> \-U <admin login name for backup> \-P <password of the backup admin> \-u <admin login name for current server> \-p <password of the current server\(cqs admin> \-\-server\-url=<current ifolder server url> \-\-ifolder\-id=<ID of the iFolder for which restore operation is performed> \-\-ifolder\-path=<Parent level path for actual data to be restored> \-\-relative\-path=<Relative path of file or folder to be restored>
+.RS 4
+Retries the restore operation
+.RE
Copied: trunk/src/utils/restore/ifolder-data-recovery.in (from rev 7341, trunk/src/utils/restore/FSBiFolderRestore.in)
===================================================================
--- trunk/src/utils/restore/ifolder-data-recovery.in (rev 0)
+++ trunk/src/utils/restore/ifolder-data-recovery.in 2010-04-28 13:29:20 UTC (rev 7347)
@@ -0,0 +1,131 @@
+#!/bin/sh
+
+#/*****************************************************************************
+#*
+#* Copyright (c) [2009] Novell, Inc.
+#* All Rights Reserved.
+#*
+#* This program is free software; you can redistribute it and/or
+#* modify it under the terms of version 2 of the GNU General Public License as
+#* published by the Free Software Foundation.
+#*
+#* This program is distributed in the hope that it will be useful,
+#* but WITHOUT ANY WARRANTY; without even the implied warranty of
+#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+#* GNU General Public License for more details.
+#*
+#* You should have received a copy of the GNU General Public License
+#* along with this program; if not, contact Novell, Inc.
+#*
+#* To contact Novell about this file by physical or electronic mail,
+#* you may find current contact information at www.novell.com
+#*
+#*-----------------------------------------------------------------------------
+#*
+#* $Author: Sunder Ramesh (sr...@no...)
+#* $Modified by: <Modifier>
+#* $Mod Date: <Date Modified>
+#* $Revision: 0.0
+#*-----------------------------------------------------------------------------
+#* This module is used to:
+#* <Description of the functionality of the file >
+#*
+#*
+#*******************************************************************************/
+
+OS_ARCH=`uname -m | grep -c x86_64`
+if [ $OS_ARCH -gt 0 ]
+then
+ export OS_ARCH=`uname -m`
+fi
+rpm -q novell-ifolder-mono > /dev/null 2>&1
+if [ $? -gt 0 ]
+then
+
+ export MONO_PATH=@_webbindir_@:@_bindir_@
+ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:@_webbindir_@:
+ export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:@_webbindir_@
+ cd @_bindir_@
+else
+ MONO_RUNTIME_PATH=@_bindir_@/../mono
+ export MONO_PATH=$MONO_RUNTIME_PATH/lib/mono/:$MONO_RUNTIME_PATH/lib/mono/2.0:@_webbindir_@:@_bindir_@
+ source $MONO_RUNTIME_PATH/bin/novell-ifolder-mono-environment.sh
+ export MONO_CFG_DIR=$MONO_RUNTIME_PATH/etc
+ export IFOLDER_MOD_MONO_SERVER2_PATH=@_bindir_@
+ export IFOLDER_MONO_PATH=$MONO_RUNTIME_PATH
+ cd @_bindir_@
+fi
+
+clear
+#echo ""
+#echo "iFolder Restore Application from file system backup"
+#echo "version 1.0.0"
+#echo ""
+#echo " ______________________________________________________________________________________"
+#echo "| |"
+#echo "| |"
+#echo "| Validating the input...................... |"
+mono @_bindir_@/ifrecovery.exe "$@" --precheck
+path_index_number=$?
+if [[ $path_index_number = 99 ]]
+then
+ exit 0
+elif [[ $path_index_number -gt 99 ]]
+then
+echo "| Status:" + $path_index_number + " Input validation failed with error |"
+ exit 0
+fi
+echo "| Status: Done. |"
+echo "| |"
+args=("$@")
+path=${args[$path_index_number-1]#*=}
+log4net="$path/simias/Simias.log4net"
+simiaslog="$path/simias/log/Simias.log"
+
+if [ -f $log4net ]; then
+ newline=`grep -n Simias.log $log4net`
+ lineno=${newline:0:`expr index "$newline" \:`-1}
+ sed ''$lineno'd' -i $log4net
+ sed ''$lineno'i \\t<file value="'$path'/simias/log/Simias.log" />' -i $log4net
+ newline=`grep -n Simias.access.log $log4net`
+ lineno=${newline:0:`expr index "$newline" \:`-1}
+ sed ''$lineno'd' -i $log4net
+ sed ''$lineno'i \\t<file value="'$path'/simias/log/Simias.access.log" />' -i $log4net
+else
+ echo "log4net file:$log4net not found"
+
+fi
+echo -n "| Preparing for the operation.."
+@_bindir_@/simias-server-setup "${args[$path_index_number-1]}" --recover 1>$path/console.log 2>$path/console.log
+echo -n "....."
+@_bindir_@/ifrecovery-server --stop 1>$path/console.log 2>$path/console.log
+echo -n "....."
+@_bindir_@/ifrecovery-server --runasserver 1>$path/console.log 2>$path/console.log
+echo "..... |"
+echo "| Status: Done. |"
+#echo "| |"
+#echo -n "| Enter new admin password:"
+#stty -echo
+#read newpass
+#echo " |"
+#stty echo
+#echo -n "| Enter old admin password:"
+#stty -echo
+#read oldpass
+cd - 1>/dev/null
+stty echo
+#echo " |"
+echo "| |"
+mono @_bindir_@/ifrecovery.exe "$@"
+#ret=$?
+#if [[ $ret = 100 ]]
+#then
+# echo "| The recovery process completed. |"
+#else
+# echo "| The recovery process failed. Please check the logs for more details. |"
+#fi
+@_bindir_@/ifrecovery-server --stop 1>$path/console.log 2>$path/console.log
+echo "| |"
+echo " ______________________________________________________________________________________"
+exit 0
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <js...@us...> - 2010-04-28 04:37:34
|
Revision: 7346
http://simias.svn.sourceforge.net/simias/?rev=7346&view=rev
Author: jshaju
Date: 2010-04-28 04:37:24 +0000 (Wed, 28 Apr 2010)
Log Message:
-----------
ID: FATE#308712
Reviewer: GG
Localization Required: Yes
Documentation Required: Yes
Description: Updated the serverdetails.html to include description of "Set as Master" link.
Modified Paths:
--------------
trunk/src/admin/help/en/serverdetails.html
Removed Paths:
-------------
trunk/src/admin/help/en/changemaster.html
Deleted: trunk/src/admin/help/en/changemaster.html
===================================================================
--- trunk/src/admin/help/en/changemaster.html 2010-04-27 13:26:40 UTC (rev 7345)
+++ trunk/src/admin/help/en/changemaster.html 2010-04-28 04:37:24 UTC (rev 7346)
@@ -1,110 +0,0 @@
-<html>
-
- <head>
- <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
-
- <!-- Novell iFolder 3.x iManager Plugin -->
-
- <title>iFolder Servers</title>
-
- <!-- Metadata -->
-
- <meta name="Author" content="iFolder 3.x Documentation Manager">
- <meta name="date" content="02-17-2005">
- <meta name="modified" content="06-29-2005">
-
- <!-- iManager Documentation Stylesheet -->
-
- <link rel="stylesheet" href="hf_style.css" type="text/css">
-
- <!-- Style definitions for this Help page: body plus help banner layer
- and help content layer. The style definition is commented to prevent
- older browsers from presenting the style information as part of the
- page itself.
- -->
-
-
-<style type= "text/css" media="screen">
- <!--
-
- body { font-family: Arial, Helvetica, Geneva;
- background: white
-url(../../images/helphead_bg.gif) repeat-x 0% 0% }
-
- #headgraphic { position: absolute; z-index: 0; top: 0px; left: 0px;
- width: 380px; visibility: visible }
-
- #helpcontent { position: absolute; top: 37px; left: 10px;
- width: 93%; visibility: visible }
-
- -->
- </style>
-
-
-
-
-</head>
-
- <!-- This is the start of the body. It underlays the help banner layer
- and help content layers. -->
-
- <body bgcolor="white" marginwidth="0" marginheight="0"
- leftmargin="0" topmargin="0">
-<!-- This is the start of the Help Banner Layer --> <div id="headgraphic"> <img src="../../images/h1_help.gif" width="380" height="32" border="0"></div><!-- This is end of the Help Banner Layer -->
-<!-- This is the start of the Help Content Layer --> <div id="helpcontent"> <!-- The Page Heading uses CSS style "head3b". This creates an H3 header
- with a line beneath it.
- -->
- <h3 class="head3b">Upgrading a Slave Server to a Master Server</h3>
- <p> Use this interface to upgrade a slave server to be a master server.
- The search functionality enables you to locate the server you want to upgrade. </p>
- <H4><A NAME="browse"></A> Searching iFolder Servers</H4>
- <OL>
- <LI>
- <P>Select a filter criterion (Contains, Begins With, Ends With, Equals).</P>
- </LI>
- <LI>
- <P>Select one or more of the following search methods:</P>
- <UL>
- <LI>
- <P>Type the name of the server in the Search Servers field.</P>
- </LI>
- <LI>
- <P>Type one or more letters in the Search Servers field.</P>
- </LI>
- <LI>
- <P>Type an asterisk (*) in the Search Servers field to return a list
- of all Servers on the system.</P>
- </LI>
- <LI>
- <P>Leave the Search Servers field empty to return a list of all Servers
- on the system.</P>
- </LI>
- </UL>
- </LI>
- <LI>Click Search.
- </OL>
-
-
- <h4><a name="accessusers"></a> Upgrading a Slave to a Master</h4>
- <ol><li>
- <p>On the Change Master page, use the search mechanism to locate the slave server that you want to upgrade to be a master server.</p>
- </li>
- <li>
- <p>In the list of servers, click the Upgrade to Server button for the server that you want to upgrade.</p><p> </p>
- </li>
- </ol>
-<P><A HREF="#top" TARGET="_self"><IMG SRC="../../images/goto_top.gif" WIDTH="19" HEIGHT="19" BORDER="0" ALT="Go to top"></A></P>
-
- <H4 CLASS="ruleabove"><IMG SRC="../../images/xrefbtn.gif" WIDTH="16" HEIGHT="16" ALT="Related Topics" align="top">
-Related Topics</H4>
-
- <BLOCKQUOTE class="task1"><P><A HREF="serverdetails.html">Server Details
-</A><BR><A HREF="reports.html">Reports
-</A><BR><A HREF="ifolderdetails.html">Managing iFolder Details</A></P></BLOCKQUOTE><P><A HREF="#top" TARGET="_self"><IMG SRC="../../images/goto_top.gif" WIDTH="19" HEIGHT="19" BORDER="0" ALT="Go to top"></A></P><P> </P><P CLASS="copyright">A
-trademark symbol (<SUP><SMALL>®</SMALL></SUP>, <SUP><SMALL>TM</SMALL></SUP>,
-etc.) denotes a Novell trademark. An asterisk (*) denotes a third-party trademark.
-For more information, see <A HREF="imgr_legalnotices.html" TARGET="_self" ><font color="#cfcdc6">Legal
-Notices</font></A>.</P></div><!-- This is the end of the Help Content layer. -->
-</body>
-
-</html>
\ No newline at end of file
Modified: trunk/src/admin/help/en/serverdetails.html
===================================================================
--- trunk/src/admin/help/en/serverdetails.html 2010-04-27 13:26:40 UTC (rev 7345)
+++ trunk/src/admin/help/en/serverdetails.html 2010-04-28 04:37:24 UTC (rev 7346)
@@ -76,7 +76,7 @@
</TD><TR><TD VALIGN="TOP">
<P>Type (View Only)</P>
</TD><TD>
- <P>The server type (Master or Slave).</P>
+ <P>The server type (Master or Slave). Click Set as Master to designate this server as a master server. If the server encounters any errors when you designate it as a master, the Repair Server link will be displayed. You can then click Repair Server to rectify the errors.</P>
</TD><TR><TD VALIGN="TOP">
<P>DNS Name</P>
</TD><TD>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ra...@us...> - 2010-04-27 13:26:46
|
Revision: 7345
http://simias.svn.sourceforge.net/simias/?rev=7345&view=rev
Author: ravim85
Date: 2010-04-27 13:26:40 +0000 (Tue, 27 Apr 2010)
Log Message:
-----------
Bumped version of clients to 3.8.0.3 in confi files on server
Modified Paths:
--------------
branches/iFolder_3.8.0_updates/src/server/Simias.ClientUpdate/mac-version.config
branches/iFolder_3.8.0_updates/src/server/Simias.ClientUpdate/unix-version.config
branches/iFolder_3.8.0_updates/src/server/Simias.ClientUpdate/version.config
Modified: branches/iFolder_3.8.0_updates/src/server/Simias.ClientUpdate/mac-version.config
===================================================================
--- branches/iFolder_3.8.0_updates/src/server/Simias.ClientUpdate/mac-version.config 2010-04-27 13:21:52 UTC (rev 7344)
+++ branches/iFolder_3.8.0_updates/src/server/Simias.ClientUpdate/mac-version.config 2010-04-27 13:26:40 UTC (rev 7345)
@@ -7,7 +7,7 @@
<!-- Put Version string here. Should be in the format of
Major Version.Minor Version.Build Version.Revision
Example: <version>1.0.1817.29628</version> -->
- <version>3.8.0.1</version>
+ <version>3.8.0.3</version>
<!-- Put name of Mac ifolder client application file
to be upgraded here. The specified file must be in
Modified: branches/iFolder_3.8.0_updates/src/server/Simias.ClientUpdate/unix-version.config
===================================================================
--- branches/iFolder_3.8.0_updates/src/server/Simias.ClientUpdate/unix-version.config 2010-04-27 13:21:52 UTC (rev 7344)
+++ branches/iFolder_3.8.0_updates/src/server/Simias.ClientUpdate/unix-version.config 2010-04-27 13:26:40 UTC (rev 7345)
@@ -24,7 +24,7 @@
you are doing.
-->
<distribution match="DEFAULT">
- <version>3.8.0.1</version>
+ <version>3.8.0.3</version>
<download-directory>default</download-directory>
</distribution>
@@ -51,17 +51,17 @@
-->
<distribution match="SUSE Linux Enterprise Desktop 10">
- <version>3.8.0.1</version>
+ <version>3.8.0.3</version>
<download-directory>suse-linux-10.0</download-directory>
</distribution>
<distribution match="SUSE Linux Enterprise Desktop 11">
- <version>3.8.0.1</version>
+ <version>3.8.0.3</version>
<download-directory>suse-linux-11.0</download-directory>
</distribution>
<distribution match="openSUSE">
- <version>3.8.0.1</version>
+ <version>3.8.0.3</version>
<download-directory>opensuse-linux</download-directory>
</distribution>
Modified: branches/iFolder_3.8.0_updates/src/server/Simias.ClientUpdate/version.config
===================================================================
--- branches/iFolder_3.8.0_updates/src/server/Simias.ClientUpdate/version.config 2010-04-27 13:21:52 UTC (rev 7344)
+++ branches/iFolder_3.8.0_updates/src/server/Simias.ClientUpdate/version.config 2010-04-27 13:26:40 UTC (rev 7345)
@@ -4,15 +4,15 @@
with the one specified here by 'filename'. -->
<versioninfo>
<distribution match="windows32">
- <version>3.8.0.2</version>
+ <version>3.8.0.3</version>
<filename>ifolder3-windows.exe</filename>
</distribution>
<distribution match="windows64">
- <version>3.8.0.2</version>
+ <version>3.8.0.3</version>
<filename>ifolder3-windows-x64.exe</filename>
</distribution>
<distribution match="DEFAULT">
- <version>3.8.0.2</version>
+ <version>3.8.0.3</version>
<filename>ifolder3-windows.exe</filename>
</distribution>
</versioninfo>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|