1. Verzovaná dokumentace - Vývoj a konfigurace

    Článek: AN0002354Aktualizováno:: 11.06.2019

    Na této stránce uvádíme tipy pro konfiguraci Verzované dokumenace a její možný rozvoj pro plnění vašich potřeb.

    Konfigurace

    Název verzované dokumentace

    V modelu verzované dokumentace je hlášení s kódem page_title. To představuje název dokumentace, který se zobrazuje v záhlaví stránky a titulku záložky prohlížeče.

    Jazyky

    Do verzované dokumentace je možné přidal libovolný jazyk. Pro nový jazyk přidejte nový záznam do třídy Jazyk.

    Výchozí jazyk

    Jeden jazyk je třeba nastavit jako výchozí. To je jazyk, který se bude zobrazovat, pokud článek nebude mít požadovanou lokalizaci. Všechny články by měly mít text v tomto výchozím jazyku.

    Nastavení se provádí pomocí parametru Výchozí jazyk pro články. Jako hodnotu zadejte kód jazyka, např. cs-CZ, en-US, de-DE...atd.

    Výchozí článek

    Při zobrazení článku se článek vyhledá vyhledá v databázi podle URL nebo čísla článku. Pokud však daný článek není nenalezen, je zobrazen jeden univerzální článek. V něm je třeba napsat uživateli informaci o tom, že článek nebyl nalezen, z jakých možných důvodů a jak může dále pokračovat.

    Tento výchozí článek je třeba vytvořit a v parametru Výchozí článek zadat jeho ID.

    Vzhled verzované dokumentace

    Vzhled dokumentace je nadefinován na stránce article. Pokud jej potřebujete změnit, pak upravte schéma stránky.

    Zároveň si upravte odkazy na sociální sítě, včetně přidání dalších, které používáte.

    Přístup k obrázkům

    Anonymní uživatel, který bude s dokumentací pracovat, musí mít přístup k obrázkům použitým v dokumentaci. K obrázkům má standardně přístup pouze ověřený uživatel. Anynymní přístup zajistíme vložením souboru web.config s níže uvedeným obsahem do adresáře s obrázky.

    <?xml version="1.0"?>
    <configuration>
      <system.web>
        <authorization>
          <allow users="*" />
        </authorization>
      </system.web>
    </configuration>

     

    Vývoj

    Celé zobrazení dokumentace je implementováno na jedné stránce Verzovaná dokumentace. Načítání článků, menu a vyhledávání provádí skripty stránky.Vlastní zobrazení vyhledaného článku provádí webpart skript.

    Změna vzhledu a barev

    Pokud potřebujete přizpůsobit vzhled firemním barvám nebo změnit rozložení, upravte schéma stránky Verzovaná dokumentace.

    Změny ve stylech proveďte v souboru Modules/OG.VersionDoc/VersionDoc.css (je připojen ve webpartu skript s kódem common).

    Vzhled zobrazeného článku změníte ve webpartu skript s kódem text. Snadno tak zobrazíte hodnotu nového sloupce, který k článku přidáte, nebo jen lehce změníte zobrazení.

    Sociální sítě

    Ve schématu stránky Verzovaná dokumentace jsou odkazy na sociální sítě. Aktualizujte si jejich url a případně přidejte další, které ve firmě používáte.

    <a href="https://www.linkedin.com/company/objectgears" title="LinkedIn" target="_blank" class="nsp"><img src="modules/OG.VersionDoc/linkedin.png" /></a>
    <a href="https://twitter.com/ObjectGears" title="Twitter" target="_blank" class="nsp"><img src="modules/OG.VersionDoc/twitter.png" /></a>
    <a href="https://www.facebook.com/objectgears" title="Facebook" target="_blank" class="nsp"><img src="modules/OG.VersionDoc/facebook.png" /></a>

    Redirect na VCD

    Dokumentace je implementovaná jako stránka ObjectGears. Té odpovídá standardně url ve formátu WebContentPage.aspx?Id=80. To není pěkná adresa, ale ObjectGears vám nabízí pracovat s url dle vaší volby. Ve Verzované dokumentaci pomocí routujeme na adresy VCD/.... To se provádí se v aplikační události Po startu aplikace.

    var m = OG.Model.GetByCode('vcd');
    var cp = OG.ContentPage.GetAll().GetByCode(m.Id, 'article');

    var r = OGRoute.Create('vcd_an_v', 'vcd/{lang}/an/{an}/v/{version}', '~/WebContentpage.aspx');
    r.AddPar( 'id', cp.Id.ToString());
    r.AddPar( 'version', '');
    r.AddPar( 'lang', '');
    r.Use(); 

    ...

    Takto je nakonfigurováno několik adres, přes které lze do dokumentace přistupovat. Využijte to například při URL požadavcích z jiných systémů, které mají vrátit výsledky hledání. Níže je několik příkladů:

    vcd
    vcd/{lang}/an/{an}/v/{version}
    vcd/{lang}/tag/{tag}
    vcd/{lang}/search/{search}

    Redirect z původní dokumentace

    Na doméně doc.objectgears.cz existovala původní dokumentaci, která nebyla implementovaná na systému ObjectGears a do které se přistupovalo pomocí url Help.aspx?h=... Tato url však v systému ObjectGears neexistuje. Protože původní adresy může někdo používat, vytvořili jsme v aplikační události Po výskytu chyby přesměrování na správnou url.

    if ( OGErrorInfo.IsInvalidPage && OGErrorInfo.Request.Url.AbsolutePath.ToLower().Contains('help.aspx'))
    {
      OGErrorInfo.RedirectPermanent = true;
      OGErrorInfo.RedirectToUrl = './vcd/en-us/' + OGErrorInfo.Request.QueryString['h'] + '/v/1.7.1.0/';
    }

    Přesměrování z / na VCD

    Pokud uživatel zadá v prohlížeči pouze doc.objectgears.cz, pak se mu standardně zobrazí Login.aspx stránka pro přihlášení. Běžní čtenáří článků nemají účet v ObjectGears, a tak aby nedošlo k zobrazení této přihlašovací stránky, přidali jsme přesměrování v aplikační události Na začátku web. požadavku na stránku VCD.

    //presmerovani z default.aspx na VCD
    var url = System.Web.HttpContext.Current.Request.Url.AbsolutePath.ToLower();
    if ( !OG.Person.IsAnyLogin() && (url == '/' || url == '/default.aspx'))
    {
      System.Web.HttpContext.Current.Response.Redirect( OG.GetWebUrl() + 'vcd');
    }

    Priorita řazení článků při vyhledávání

    Výsledky při hledání v dokumentaci se řadí podle relevance. Hledaný text se může nacházet v několika vlastnostech článku. Protože každý typ výskytu má jinou relevanci, má také přiřazený jiný počet bodů. Body sečteme pro každý nalezený článek (násobí se hodnocení za typ výskytu počtem daného výskytu) a v tomto pořadí jsou záznamy seřazeny a vypsány uživatelům.

    Bodové ohodnocení se nastavuje ve skriptu na stránce Verzovaná dokumentace ve funkci FindByText. Pokud potřebujete hledat i v jiných sloupcích, pak rozšiřte příslušný SQL příkaz o další hledání a vhodně přidělte nové body.

    Výchozí přidělení bodů:

    Výskyt Body
    Číslo článku 100
    URL textu článku 50
    Tag přiřazený k článku 25
    Nadpis textu článku 15
    Meta Description textu článku 3
    V textu článku 1

    Logování chybných hledání

    Pokud při hledání požadovaného článku žádný článek není nalezen, zobrazí se výchozí článek. Zároveň se do třídy wrong_search zapíše, co uživatel hledal. Takto odhalíte neexistující odkazy z jiných stránek či externích zdrojů.

    Záznam provádí metoda LoadArticle ve skriptu na stránce Verzovaná dokumentace:

    if ( firstArt == null)
    {
      //ulozit hledaný clanek, ktery nebyl nalezen
      var clBad = OGModel.ClassDefs['wrong_search'];
      var drBad = OG.DataRow.CreateNew(clBad.Id);
      drBad['an'] = an;
      drBad['url'] = url;
      drBad['topic'] = topic;
      drBad['loc'] = loc;
      drBad['version'] = v;
      OG.DataRow.SaveData(drBad);

      //pokud uzivatel nema opravneni nebo clanek nebyl nalezen, je vracen vychozi clanek
      firstArt = FindArticle(null, null, null, loc, null, OG.DataParameter.GetDataParameter( OGModel.Id, 'no_rights').ValueInteger, null, isEditor);
    }

×