IBM Enterprise Records, wersja 5.1.+            

Rozwiązywanie problemów z narzędziem importowania i eksportowania planu umieszczania w folderach

W niniejszej sekcji przedstawiono informacje o najczęstszych przyczynach błędów, jakie mogą się pojawiać podczas korzystania z narzędzia importowania i eksportowania planu umieszczania w folderach w produkcie IBM® Enterprise Records, a także o sposobach zmniejszania prawdopodobieństwa występowania tych błędów.

Najczęstsze przyczyny błędów

Podczas importowania planu umieszczania w folderach mogą pojawić się błędy. W większości przypadków proces importowania zatrzymuje się po napotkaniu błędu i nie pojawia się wówczas żaden komunikat. Przyczyna błędów może być jedna z poniższych: Narzędzie importowania i eksportowania planu umieszczania w folderach zawiera opcje, które można wykorzystać w celu rozwiązania potencjalnych błędów. Te opcje zostały omówione w poniższych sekcjach.

Ręczne tworzenie pliku XML

Na potrzeby niniejszej dyskusji ręczne tworzenie pliku XML dotyczy tworzenia pliku XML za pomocą sposobów innych niż narzędzie do importowania i eksportowania planu umieszczania w folderach (na przykład: za pomocą makr i innych metod programistycznych w celu utworzenia pliku XML). Zanim możliwe będzie zaimportowanie planu umieszczania w folderach należy utworzyć plik XML zgodny ze standardem XML i zgodny ze schematem XML oprogramowania FileNet.

W przypadku ręcznego tworzenia pliku w celu użycia podczas importowania planu umieszczania w folderach należy utworzyć plik w oparciu o schemat XML udostępniony przez IBM.

Ważne:   Większość błędów, jakie występują podczas importowania planu umieszczania w folderach, jest spowodowanych rzez niezgodne pliki XML. Dlatego w przypadku ręcznego tworzenia pliku XML należy zachować szczególną ostrożność.

Po ręcznym utworzeniu pliku XML zalecamy uruchomienie narzędzia do importowania i eksportowania planu umieszczania w folderach w trybie sprawdzania poprawności. Narzędzie w trybie sprawdzania poprawności odczytuje plik XML i sprawdza, czy plik nie zawiera żadnych błędów ani problemów z brakiem zgodności. (Szczegóły dot. trybu sprawdzania poprawności zawiera sekcja Korzystanie z narzędzia do importowania i eksportowania planu umieszczania w folderach).

Niektóre opcje dostępne w przypadku ręcznego tworzenia pliku XML są zawarte w sekcjach Dziedziczenie harmonogramu podkategorii i Właściwość ConditionXML.

Zapoznanie ze sposobem działania narzędzia do eksportowania i importowania planu umieszczania w folderach

Jeśli planowane jest ręczne tworzenie pliku XML w celu zaimportowania dużego planu umieszczania w folderach z niestandardowymi klasami i obiektami, wówczas zalecamy najpierw utworzenie małego planu umieszczania w folderach i powiązanych metadanych, a następnie uruchomienie narzędzia w trybie eksportu. Takie ćwiczenie jest szczególnie użyteczne przed ręcznym utworzeniem pliku XML dla planów umieszczania w folderach ze wstrzymaniami warunkowymi, wewnętrznymi wyzwalaczami zdarzeń i alternatywnymi czasami przechowywania - wszystkie te obiekty zawierają złożoną Właściwość ConditionXML. Nawet po utworzeniu pliku XML o poprawnym formacie ten plik XML może mieć niepoprawne wartości właściwości lub niepoprawną składnię, co może spowodować błąd podczas importowania. Wyeksportowanie małego pliku umożliwia sprawdzenie pliku XML utworzonego przez narzędzie, a także sprawdzenie wartości składni i właściwości w pliku XML.

Korzystanie z opcji metadanych zasięgu

Jeśli plan umieszczania w folderach zawiera niestandardowe klasy lub właściwości, wówczas należy użyć opcji metadanych zasięgu podczas procesu eksportu. Opcja metadanych zasięgu tworzy osobny plik XML dla niestandardowych klas i właściwości. Dlatego jeśli plan umieszczania w folderach zawiera niestandardowe klasy lub właściwości, wówczas procesy importowania i eksportowania zawierają po dwa kroki: jeden krok dla niestandardowych klas i właściwości, a drugi dla pozostałej części planu umieszczania w folderach. Temat pomocy Korzystanie z narzędzia do importowania i eksportowania planu umieszczania w folderach zawiera procedury dotyczące korzystania z opcji metadanych zasięgu.

Korzystanie z opcji ponownego importu

Opcja ponownego importu jest używana w celu określania działania czynności dodawania w pliku XML. Opcja ponownego importu ma trzy parametry: Podczas początkowego importowania dużego planu umieszczania w folderach można użyć opcji Pomiń. W przypadku niepowodzenia i podczas drugiej próby zaimportowania tego samego planu umieszczania w folderach można użyć opcji Pomiń, aby uniknąć ponownego importowania obiektów, które zostały już pomyślnie zaimportowane. Jeśli jednak w przypadku drugiej próby wymagane są niewielkie modyfikacje obiektów, które zostały pomyślnie zaimportowane za pierwszym razem, wówczas konieczne może być użycie opcji Zastąp.

W przypadku kolejnych operacji importu modyfikacji do niewielkiej liczby obiektów zalecamy określenie wartości Action="Modify" w pliku XML dla obiektów zamiast wprowadzania zmian do pierwotnego pliku XML. Ponadto tryb Aktualizuj umożliwia łatwiejsze identyfikowanie aktualizacji z początkowych raportów pełnych.

Dziedziczenie harmonogramu podkategorii

W przypadku tworzenia podkategorii można użyć interfejsu użytkownika IBM Enterprise Records w celu określenia, że podkategoria dziedziczy nadrzędny harmonogram rozporządzenia. W przypadku ręcznego tworzenia pliku XML w celu zaimportowania planu umieszczania w folderach, w którym zawarta jest podkategoria, istnieje możliwość określenia, że podkategoria nie dziedziczy harmonogramu obiektu nadrzędnego oraz możliwe jest określenie innego harmonogramu.

W tworzonym pliku XML użyj właściwości DisposalScheduleInheritedFrom w celu wskazania, czy kategoria akt dziedziczy harmonogram rozporządzania z obiektu nadrzędnego. Na przykład:

<RecordCategory Name="myCat2" Level="2" ParentPath="/myCat1">
    <Properties>
        <Property Name="AGGREGATION" Value="RecordCategory" />
        <Property Name="IsPermanentRecord" Value="false" />
        <Property Name="IsVitalRecord" Value="false" />
        <Property Name="CurrentPhaseExportFormat"></Property>
        <Property Name="IsDeleted" Value="false" />
        <Property Name="HomeLocation"></Property>
        <Property Name="VitalRecordReviewAction"></Property>
        <Property Name="IncrementedBy" Value="1" />
        <Property Name="RecordCategoryName" Value="myCat2" />
        <Property Name="DisposalScheduleInheritedFrom" Value="/myCat1" />
        <Property Name="Reviewer" Value="ylin" />
        <Property Name="RecordCategoryIdentifier" Value="myCat2" />
        <Property Name="VitalRecordDisposalTrigger"></Property>
        <Property Name="Inactive" Value="false" />
        <Property Name="Location"></Property>
        <Property Name="DateOpened" Value="2006-03-07T14:16:00-08:00" />
        <Property Name="DisposalSchedule">
                <ObjectRef ClassId="DisposalSchedule" ObjectId="myDispSchedule" />
        </Property>
    </Properties>
</RecordCategory>
Istnieją cztery scenariusze, w których można wykorzystać właściwość DisposalScheduleInheritedFrom:
<Property Name="DisposalScheduleInheritedFrom" Value="/myCat1" />

Właściwość ConditionXML

W przypadku ręcznego tworzenia pliku XML w celu zaimportowania planu umieszczania w folderach istnieje możliwość określania wartości dla właściwości ConditionXML, z której korzysta narzędzie importowania planu umieszczania w folderach w celu importowania następujących obiektów: W przypadku obiektów, takich jak Alternatywne czasy przechowywania, Wyzwalacze zdarzenia wewnętrznego i Wstrzymania dynamiczne (warunkowe) właściwość ConditionXML zapisuje warunki wyszukiwania w formacie XML. Znacznik właściwości w ConditionXML zawiera nazwę/wartość/operatora właściwości dla interfejsu użytkownika IBM Enterprise Records. Znacznik sql w ConditionXML zawiera instrukcję SQL. W przypadku wprowadzenia wartości właściwości ConditionXML w celu zaimportowania planu umieszczania w folderach znaki specjalne (< > & " ') należy przekształcić na standardową reprezentację (&lt; &gt; &amp; &quot; &apos;). Poniżej przedstawiono przykładowy kod XMX obiektów zawierających właściwość ConditionXML dla importu i eksportu planu umieszczania w folderach.

Przykład ConditionXML dla alternatywnego czasu przechowywania

<Phases>
  <RMEntity Type="Phase" Name="myPhase1">
    <Properties>
        <Property Name="PhaseAction"></Property>
        <Property Name="RetentionPeriodDays" Value="0" />
        <Property Name="RetentionPeriodYears" Value="10" />
        <Property Name="RMEntityDescription"> Value="my phase 1" />
        <Property Name="RetentionPeriodMonths" Value="0" />
        <Property Name="PhaseNumber" Value="1" />
        <Property Name="ExportFormat"></Property>
        <Property Name="IsScreeningRequired" Value="true" />
        <Property Name="DisposalSchedulePtr">
          <ObjectRef ClassId="DisposalSchedule" ObjectId="myDispSchedule" />
        </Property>
        <Property Name="PhaseName" Value="myPhase1" />
          <ObjectValue Type="AlternateRetention">
            <Properties>
              <Property Name="RetentionBase" Value="CutoffDate" />
              <Property Name="ConditionXML" Value="&lt;response xmlns=&quot;http://filenet.com/namespaces/wcm/apps/1.0&quot;&gt;&ltobjectset&gt;&ltcount&gt;1&lt/count&gt;&ltcustomobject&gt;&ltproperties&gt;&ltproperty&gt;&ltsymname&gt;ClosedBy&lt/symname&gt;&ltoperator&gt;IEQUAL&lt;/perator&gt;&ltvalue&gt;Administrator&lt/value></property></properties><aggregation></aggregation><sql> AND ([ClosedBy] = 'Administrator')</sql> </customobject></objectset></response>" />
              <Property Name="RetentionPeriodMonths" Value="0" />
              <Property Name="RetentionPeriodYears" Value="5" />
              <Property Name="RetentionPeriodDays" Value="0" />
            </Property>
          </ObjectValue>
          <ObjectValue Type="AlternateRetention">
            <Properties>
              <Property Name="RetentionBase" Value="DateClosed" />
              <Property Name="ConditionXML" Value="&lt;response xmlns=&quot;http://filenet.com/namespaces/wcm/apps/1.0&quot;&gt;&ltobjectset&gt;&ltcount&gt;1&lt/count&gt;&ltcustomobject&gt;&ltproperties&gt;&ltproperty&gt;&ltsymname&gt;RMEntityDescription&lt/symname&gt;&ltoperator&gt;LKE&lt;/perator&gt;&ltvalue&gt;something&lt/value></property></properties><aggregation></aggregation><sql> AND ([RMEntityDescription] LIKE '%something%')</sql> </customobject></objectset></response>" />
              <Property Name="RetentionPeriodMonths" Value="0" />
              <Property Name="RetentionPeriodYears" Value="5" />
              <Property Name="RetentionPeriodDays" Value="0" />
            </Properties>
          </ObjectValue>
        </Property
      </Properties>
     <RMEntity>
</Phases>

Przykład wyzwalacza rozporządzania z właściwością ConditionXML:

<DisposalTriggers>
    <RMEntity Type="DisposalTrigger" Name="Date Created">
       <Properties>
           <Property Name="DisposalTriggerName" Value="Date Created" />
           <Property Name="EventType" Value="3" />
           <Property Name="CycleYears" Value="0" />
           <Property Name="CycleDays" Value="0" />
           <Property Name="AGGREGATION" Value="RecordInfo" />
           <Property Name="ConditionXML" Value="&lt;response
xmlns=&quot;http://filenet.com/namespaces/wcm/apps/1.0&quot;&gt;&lt;objectset&gt;&lt;count&gt;1&lt;/count&gt;&lt;customobject&gt;&lt;properties&gt;&lt;property&gt;&lt;symname&gt;DateCreated&lt;/symname&gt;&lt;displayname&gt;Date Created&lt;/displayname&gt;&lt;propertytype&gt;3&lt;/propertytype&gt;&lt;value/&gt;&lt;operator&gt;IS NOT NULL&lt;/operator&gt;&lt;jointype&gt;AND&lt;/jointype&gt;&lt;/property&gt;&lt;/properties&gt;&lt;aggregation&gt;RecordInfo&lt;/aggregation&gt;&lt;sql&gt; SELECT OIID , ID , RMENTITYTYPE FROM RecordInfo WHERE ( DateCreated IS NOT NULL )&lt;/sql&gt;&lt;/customobject&gt;&lt;/objectset&gt;&lt;/response&gt;"/>
           <Property Name="CycleMonths" Value="0" />
       </Properties>
    </RMEntity>
</DisposalTriggers>

Przykład wstrzymania dynamicznego z właściwością ConditionXML:

<Holds>
    <RMEntity Type="RecordHold" Name="dynamic Hold">
       <Properties>
           <Property Name="Active" Value="true" />
           <Property Name="HoldName" Value="dynamic Hold" />
           <Property Name="HoldReason" Value="dynamic Hold" />
           <Property Name="ConditionXML" Value="&lt;response
xmlns=&quot;http://filenet.com/namespaces/wcm/apps/1.0&quot;&gt;&lt;objectset&gt;&lt;count&gt;2&lt;/count&gt;&lt;customobject&gt;&lt;properties&gt;&lt;property&gt;&lt;symname&gt;RecordCategoryName&lt;/symname&gt;&lt;displayname&gt;Record Category Name&lt;/displayname&gt;&lt;propertytype&gt;8&lt;/propertytype&gt;&lt;selectable&gt;true&lt;/selectable&gt;&lt;value&gt;dynamic&lt;/value&gt;&lt;operator&gt;like&lt;/operator&gt;&lt;jointype&gt;AND&lt;/jointype&gt;&lt;/property&gt;&lt;/properties&gt;&lt;aggregation&gt;RecordCategory&lt;/aggregation&gt;&lt;sql&gt; SELECT ro.[RecordCategoryName] , ro.[RecordCategoryName] FROM RecordCategory ro Where ro.[RecordCategoryName] like &apos;%dynamic%&apos; &lt;/sql&gt;&lt;
/customobject&gt;&lt;customobject&gt;&lt;properties&gt;&lt;property&gt;&lt;symname&gt;RecordFolderName&lt;/symname&gt;&lt;displayname&gt;Record Folder Name&lt;/displayname&gt;&lt;propertytype&gt;8&lt;/propertytype&gt;&lt;selectable&gt;true&lt;/selectable&gt;&lt;value&gt;dynamic&lt;/value&gt;&lt;operator&gt;like&lt;/operator&gt;&lt;jointype&gt;AND&lt;/jointype&gt;&lt;/property&gt;&lt;/properties&gt;&lt;aggregation&gt;RecordFolder&lt;/aggregation&gt;&lt;sql&gt; SELECT ro.[RecordFolderName] , ro.[RecordFolderName] FROM RecordFolder ro Where ro.[RecordFolderName] like &apos;%dynamic%&apos; &lt;/sql&gt;&lt;/customobject&gt;&lt;/objectset&gt;&lt;/response&gt;" />
           <Property Name="HoldType" Value="Audit" />
       </Properties>
    </RMEntity>
</Holds>

Aktualizacja okresu przechowywania

W celu zaktualizowania okresu przechowywania istniejącej fazy na null do pliku XML należy wprowadzić właściwości okresu przechowywania (RetentionPeriodYears, RetentionPeriodMonths i RetentionPeriodDays) w pliku XML bez wartości. Poniżej przedstawiono przykładowy kod XML obiektu fazy dla narzędzia importowania i eksportowania planu umieszczania w folderach:
<RMEntity Type="Phase" Name="phase 1">
                   <Properties>
                         <Property Name="PhaseAction"></Property>
                         <Property Name="PhaseNumber" Value="1" />
                         <Property Name="ExportFormat"></Property>
                         <Property Name="IsScreeningRequired" Value="false" />
                         <Property Name="DisposalSchedulePtr">
                               <ObjectRef ClassId="DisposalSchedule" ObjectId="mySchedule" />
                         </Property>
                         <Property Name="PhaseName" Value="phase 1" />
                         <Property Name="RMEntityDescription" />
                         <Property Name="RetentionPeriodMonths" />
                         <Property Name="RetentionPeriodYears"  />
                         <Property Name="RetentionPeriodDays"  />
                         <Property Name="AlternateRetentions">
                               <ObjectValue Type="AlternateRetention">
                                     <Properties>
                                           <Property Name="RetentionBase" Value="CutoffDate" />
                                           <Property Name="ConditionXML" Value="&lt;response xmlns=&quot;http://filenet.com/namespaces/wcm/apps/1.0&quot;&gt;&lt;objectset&gt;&lt;count&gt;1&lt;/count&gt;&lt;customobject&gt;&lt;properties&gt;&lt;property&gt;&lt;symname&gt;CurrentActionType&lt;/symname&gt;&lt;operator&gt;IS EQUAL&lt;/operator&gt;&lt;value&gt;6&lt;/value&gt;&lt;/property&gt;&lt;/properties&gt;&lt;aggregation&gt;&lt;/aggregation&gt;&lt;sql&gt; AND ([CurrentActionType] = 6)&lt;/sql&gt; &lt;/customobject&gt;&lt;/objectset&gt;&lt;/response&gt;" />
                                           <Property Name="RetentionPeriodMonths" Value="0" />
                                           <Property Name="RetentionPeriodYears" Value="2" />
                                           <Property Name="RetentionPeriodDays" Value="0" />
                                     </Properties>
                               </ObjectValue>
                         </Property>
                   </Properties>
             </RMEntity>


Opinia

Ostatnia aktualizacja: sierpień 2011


© Copyright IBM Corp. 2011.
To Centrum informacyjne jest oparte na technologii Eclipse. (http://www.eclipse.org)