Index: qPloneGoogleSitemaps/trunk/skins/qPloneGoogleSitemaps/prefs_gsm_settings.cpt
===================================================================
--- qPloneGoogleSitemaps/trunk/skins/qPloneGoogleSitemaps/prefs_gsm_settings.cpt	(revision 3713)
+++ qPloneGoogleSitemaps/trunk/skins/qPloneGoogleSitemaps/prefs_gsm_settings.cpt	(revision 1)
@@ -26,4 +26,9 @@
                    Settings</a>
                 </li>
+                <li class="">
+                <a href=""
+                   tal:attributes="href string: prefs_gsm_pinging">
+                   Pinging</a>
+                </li>
             </ul>
             <div class="contentActions">
@@ -38,7 +43,4 @@
                    Up to Plone Setup
                 </a>
-
-                
-
                 <form name="edit_form"
                     action="."
@@ -47,109 +49,122 @@
                     tal:attributes="action string:${here_url}/${template/getId}" >
 
-                <fieldset tal:define="view here/@@sitemap_settings;
-                                      sitemaps view/sitemapsDict;">
+                <fieldset tal:define="props portal/portal_properties/googlesitemap_properties;
+                                      portal_types portal/portal_types;">
                     <legend i18n:translate="legend_plonesitemap_configuration_details">
-                        Google SiteMaps configuration
+                        Google SiteMap configuration
                     </legend>
-
-                    <table class="listing"
-                           summary="Sitemaps management"
-                           i18n:attributes="summary summary_sitemaps_management;"
-                           tal:condition="sitemaps">
-                        <thead>
-                            <tr>
-                            <th></th>
-                            <th>Type</th>
-                            <th>Edit Sitemap</th>
-                            <th>Size (bytes)</th>
-                            <th>Entries</th>
-                            </tr>
-                        </thead>
-                        <tbody>
-                            <tal:items tal:repeat="data sitemaps">
-                            <tr tal:define="oddrow repeat/data/odd;"
-                                tal:attributes="class python:test(oddrow, 'even', 'odd')" >
-                                <td>
-                                <input type="checkbox" class="noborder"
-                                        name="smselected:list" id="#" value="#" tabindex=""
-                                        tal:attributes="value    data/sm_id;
-                                                        id       string:cb_${data/sm_id};
-                                                        alt      data/sm_type;
-                                                        title    data/sm_type;
-                                                        tabindex tabindex/next;" />
-                                </td>
-                                <td>
-                                <strong tal:content="data/sm_type"> Sitemap type </strong>
-                                </td>
-                                <td>
-                                <a alt="" title="" href="http://"
-                                    tal:attributes="href string:${data/sm_url}/edit;
-                                                    title data/sm_id;
-                                                    alt string:${data/sm_id}"
-                                    tal:content="data/sm_id">Edit default sitemap type </a>
-                                </td>
-                                <td tal:content="string:${data/sm_size}"> 10 000 in bytes
-                                </td>
-                                <td tal:content="string:${data/sm_entries}"> 50 000 items
-                                </td>
-                            </tr>
-                            </tal:items>
-                            <tr>
-                            <th colspan="3"><strong>Limitations:</strong></th>
-                            <th><strong>10,485,760</strong></th>
-                            <th><strong>50,000</strong></th>
-                            </tr>
-                        </tbody>
-                        </table>
-
-                        <div class="formControls"
-                            tal:define="process_creation request/process_creation|nothing;"
-                            i18n:domain="plone">
-                            <input class="context"
-                                tabindex=""
-                                type="submit"
-                                name="form.button.AddContent"
-                                value="Add Content Sitemap"
-                                i18n:attributes="value"
-                                tal:condition="not:view/hasContentSM"
-                                tal:attributes="tabindex tabindex/next;" />
-                            <input class="context"
-                                tabindex=""
-                                type="submit"
-                                name="form.button.AddMobile"
-                                value="Add Mobile Sitemap"
-                                i18n:attributes="value"
-                                tal:condition="not:view/hasMobileSM"
-                                tal:attributes="tabindex tabindex/next;" />
-                            <input class="context"
-                                tabindex=""
-                                type="submit"
-                                name="form.button.AddNews"
-                                value="Add News Sitemap"
-                                i18n:attributes="value"
-                                tal:condition="not:view/hasNewsSM"
-                                tal:attributes="tabindex tabindex/next;" />
-                            <tal:block condition="sitemaps">
-                            <input class="context"
-                                tabindex=""
-                                type="submit"
-                                name="form.button.Delete"
-                                value="Delete"
-                                i18n:attributes="value"
-                                tal:attributes="tabindex tabindex/next;" />
-                            <input class="context"
-                                tabindex=""
-                                type="submit"
-                                name="form.button.Ping"
-                                value="Ping"
-                                i18n:attributes="value"
-                                tal:attributes="tabindex tabindex/next;" />
-                            </tal:block>
+                    <div class="field" 
+                        tal:define="portalTypes props/portalTypes;">
+                        <label for="portalTypes ">
+                            Define the types
+                        </label>
+                        <div class="formHelp">
+                            Define the types to be included in sitemap.
                         </div>
 
-                    <tal:block condition="sitemaps">
-                    <p><strong>Note</strong>: Ping button allows you to make additional ping (apart from automatic one).</p>
-                    </tal:block>
+                        <select multiple="multiple"
+                                name="portalTypes"
+                                id="portalTypes"
+                                tal:attributes="tabindex tabindex/next;">
 
+                        <tal:contenttypes repeat="type python:portal_types.listContentTypes()">
+                            <option tal:define="type python:portal_types.getTypeInfo(type);
+                                                type_name type/Title;
+                                                portal_type type/getId"
+                                    tal:attributes="value portal_type;
+                                                    selected python: test(portal_type in portalTypes, 'selected', None)"
+                                    tal:content="type_name">
+                                Article
+                            </option>
+                        </tal:contenttypes>
+                        </select>
+                    </div>
+
+                    <div class="field" 
+                        tal:define="states props/states;">
+                        <label for="states ">
+                            Review status
+                        </label>
+
+                        <div class="formHelp">
+                            You may include items in sitemap depend of their review state.
+                        </div>
+
+                        <textarea name="states:lines" 
+                                id="states"
+                                cols="20"
+                                rows="8"
+                                tabindex=""
+                                tal:attributes="tabindex tabindex/next;"
+                                tal:define="content python:modules['string'].join(states,'\n');"
+                                tal:content="content">
+                        </textarea>
+                    </div>
+                    <div class="field" 
+                        tal:define="blackout_list props/blackout_list;">
+                        <label for="blackout_list ">
+                            Blackout entries
+                        </label>
+                        <div class="formHelp">
+                            The objects with the given ids will not be included in sitemap.
+                        </div>
+                        <textarea name="blackout_list:lines" 
+                                id="reg_exp"
+                                cols="20"
+                                rows="8"
+                                tabindex=""
+                                tal:attributes="tabindex tabindex/next;"
+                                tal:define="content python:modules['string'].join(blackout_list ,'\n');"
+                                tal:content="content">
+                        </textarea>
+                    </div>
+                    <div class="field" 
+                        tal:define="reg_exp props/reg_exp;">
+                        <label for="reg_exp">
+                            URL processing Regular Expressions
+                        </label>
+                        <div class="formHelp">
+                            Provide regular expressions (in Perl syntax), one per line to be applied to URLs before including them into Sitemap. For instance, "s/\/index_html//" will remove /index_html from URLs representing default documents.
+                        </div>
+
+                        <textarea name="reg_exp:lines" 
+                                id="reg_exp"
+                                cols="20"
+                                rows="8"
+                                tabindex=""
+                                tal:attributes="tabindex tabindex/next;"
+                                tal:define="content python:modules['string'].join(reg_exp ,'\n');"
+                                tal:content="content">
+                        </textarea>
+                    </div>
+                    <div class="field" 
+                        tal:define="urls props/urls;">
+                        <label for="urls"> Additional URLs
+                        </label>
+                        <div class="formHelp">
+                            Define additional URLs that are not objects and that should be included in sitemap.
+                        </div>
+                        <textarea name="urls:lines" 
+                                id="urls"
+                                cols="20"
+                                rows="8"
+                                tabindex=""
+                                tal:attributes="tabindex tabindex/next;"
+                                tal:define="content python:modules['string'].join(urls ,'\n');"
+                                tal:content="content">
+                        </textarea>
+                    </div>
+
+                    <div class="formControls"
+                        tal:define="process_creation request/process_creation|nothing;"
+                        i18n:domain="plone">
+                        <input class="context"
+                            tabindex=""
+                            type="submit"
+                            name="form.button.Save"
+                            value="Save"
+                            i18n:attributes="value"
+                            tal:attributes="tabindex tabindex/next;" />
+                    </div>
                     </fieldset>
                     <input type="hidden" name="form.submitted" value="1" />
