Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
linux_faq:перенос-данных-из-screw-turnwiki-в-dokuwiki [2019/02/11 09:13] – external edit 127.0.0.1linux_faq:перенос-данных-из-screw-turnwiki-в-dokuwiki [2019/06/06 09:41] (current) admin
Line 1: Line 1:
 +====== Как мигрировать ======
 +Нужно извлечь данные из **ScrewTurnWiki**, разложить страницы в текстовые файлы и потом импортировать эти файлы в **DokuWiki**.
 +Требования к файлам: имена без пробелов и только в нижнем регистре, расширение .txt. Разметка **dokuwiki**.
 +
 +====== Извлекаем содержимое страниц ======
 +Вот код на Go для того, чтобы извлечь содержимое страниц, сохранить его в виде файлов с именами - названиями страниц и разложить по папкам с именами namespaces.
 +
 +<code>
 +package main                                                                                                                                                                                    
 +import (
 +"code.google.com/p/odbc"
 +"database/sql"
 +"fmt"
 +"log"
 +"strings"
 +"os"                                                                                      
 +)                                                                                             
 +var (                                                                                         
 +    title       string                                                                        
 +    content     string                                                                        
 +    query       string                                                                        
 +    pagename    string                                                                        
 +    filename    string                                                                        
 +    namespace   string                                                                        
 +)
 +func main() {
 +    db, err := sql.Open("odbc", "DRIVER=FreeTDS;SERVER=192.168.122.169;UID=screw;PWD=password;DATABASE=screw;TDS_Version=8.0;PORT=1433;")
 +    if err != nil {
 +        fmt.Println("Error in connect DB")
 +        log.Fatal(err)
 +    }
 +    query = "select Page, Namespace, Content from dbo.PageContent  where Revision = -1"
 +    rows, err := db.Query(query)
 +    if err != nil {
 +        log.Fatal(err)
 +    }
 +    for rows.Next() {
 +        if err := rows.Scan(&pagename, &namespace, &content); err != nil {
 +            log.Fatal(err)
 +        }
 +//              fmt.Println(pagename)
 +//      fmt.Println(content)
 +        filename= strings.ToLower("/home/mike/wiki/test/" + namespace)
 +        os.Mkdir (filename, 0777)
 +        filename= strings.ToLower("/home/mike/wiki/test/" + namespace + "/" + pagename)
 +        fo, err := os.Create(filename)
 +        if err != nil {
 +                panic(err)
 +        }
 +        if _, err := fo.WriteString("##PAGE##\n" + content); err != nil {
 +            panic(err)
 +        }
 +        defer fo.Close()
 +    }
 +    defer rows.Close()
 +}
 +
 +</code>
 +
 +====== Конвертация ======
 +Конвертер разметки: {{ :linux_faq:screwturn-to-dokuwiki-converter.rar | screwturn-to-dokuwiki-converter.rar}} \\
 +Ставим то что нужно для сборки:
 +  apt-get install --assume-yes bison build-essential curl flex g++
 +Даем права на запуск **makeit.sh** и **testit.sh**. \\
 +Собираем:
 +  ./makeit.sh
 +тестируем:
 +  ./testit.sh 
 +(выдаст результат в compilatorMy.out)
 +
 +Конвертируем:
 +<code>find ./test3/ -type f -name "*" -exec ./a.out {} {}.txt \;  -print</code>
 +
 +Удаляем файлы без расширения txt:
 +<code>find ./test3/ -type f ! -name "*.txt" -exec rm {} \;  -print </code>
 +
 +Архивируем и переносим на хост с **DokuWiki**.
 +
 +
 +======Импорт в dokuwiki ======
 +Сначала даем права на файлы.
 +
 +С помощью плагина [[https://www.dokuwiki.org/plugin:searchindex|Searchindex Manager]] импортируем страницы в **DokuWiki**
  
  • linux_faq/перенос-данных-из-screw-turnwiki-в-dokuwiki.txt
  • Last modified: 2019/06/06 09:41
  • by admin