-
Path: news-archive.icm.edu.pl!news.rmf.pl!nf1.ipartners.pl!ipartners.pl!plix.pl!newsf
eed1.plix.pl!news-out2.kabelfoon.nl!newsfeed.kabelfoon.nl!xindi.nntp.kabelfoon.
nl!198.186.194.249.MISMATCH!news-out.readnews.com!transit3.readnews.com!nx01.ia
d01.newshosting.com!newshosting.com!newsfeed.neostrada.pl!unt-exc-01.news.neost
rada.pl!atlantis.news.neostrada.pl!news.neostrada.pl!not-for-mail
From: Konrad Kosmowski <k...@k...net>
Newsgroups: pl.comp.www
Subject: Re: CMSy - jak przechowywać treść?
Date: Fri, 19 Mar 2010 19:00:20 +0100
Organization: TP - http://www.tp.pl/
Lines: 61
Message-ID: <k...@k...net>
References: <hno29d$d4o$1@newsfeed.net.icm.edu.pl> <t...@k...net>
<hnt0th$iv$1@newsfeed.net.icm.edu.pl> <j...@k...net>
<hnvgth$mtd$1@news.net.icm.edu.pl>
NNTP-Posting-Host: dkg22.neoplus.adsl.tpnet.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: 8bit
X-Trace: nemesis.news.neostrada.pl 1269023192 25195 83.24.10.22 (19 Mar 2010 18:26:32
GMT)
X-Complaints-To: u...@n...neostrada.pl
NNTP-Posting-Date: Fri, 19 Mar 2010 18:26:32 +0000 (UTC)
Xref: news-archive.icm.edu.pl pl.comp.www:395346
[ ukryj nagłówki ]** Marek <m...@s...interia.pl> wrote:
>> No i? A kto Ci broni mieć różne obiekty w różnych językach?
> Skoro brniesz w ten temat, to jako niezależny wątek też mnie on interesuje.
> Więc trudno: dam się tu wciągnąć. :-)
> Jeśli o moje podejście do wersji językowych, to preferuję przechowywanie
> wersji językowych treści w obrębie jednej tabeli.
Widzisz - cały czas patrzysz na treść i wiążesz ją z tabelami w bazie danych co
jest zupełnie bez sensu. I od tego musisz wyjść aby zrozumieć o co mi Chodzi. W
dobrym CMS to Ciebie modelując treść w ogóle nie obchodzi co się dzieje w bazie
danych pod spodem. Baza danych to jest niskopoziomowy storage dla obiektów i
jak tam jest to zorganizowane to mnie to średnio boli używając dajmy na to eZ
Publish.
(ciach o tabelach)
>> Tak niskopoziomowo to np. założyć na bazę danych trigger, który działa ON
>> INSERT i UPDATE. Trigger ten aktualizuje rekord wyciągając dane, które
>> wstawiłeś do tresc, przetwarza (usunięcie tagów to prosty regexp - funkcje
>> wbudowane w każdą sensowną bazę danych) i zapisuje w dodatkowej kolumnie
>> (czy nawet w ogóle w innej tabeli czy bazie) tresc_gola. Wyszukujesz po
>> tresc_gola, wyświetlasz tresc.
> A no właśnie: czyli dodatkowe pole. Wspominałeś coś o indeksach i mylnie
> założyłem, że na nich coś można zdziałać bez pola "goła treść". Rozumiem, że
> po w/w polu uruchamiasz full text search?
No np. - tzn. jak wyżej, cały czas operujesz na tabelach - popatrz szerzej.
A i gwoli ścisłości to ja stosuję do wyszukiwania dedykowany mechanizm
indeksujący (Lucene), który przelatuje mi content i robi indeksy po swojemu (i
również nie obchodzi mnie jak on sobie te indeksy organizuje - nie mój
problem).
Funkcje wyszukiwania pełnotekstowego w bazie danych to jest w zasadzie marna
namiastka dobrego engine do wyszukiwania.
> A tak na marginesie - to parser treści realizowałbym na poziomie aplikacji a
> nie bazy.
Bez sensu. Wiesz bazy danych się PROGRAMUJE aby właśnie takie rzeczy robiły po
swojej stronie bo po to są. Baza danych robi to wydajniej.
> Tagi mogą być przeróżne. Np. stosuję w swoim CMS'ie obiekty osadzane w
> treści. Może to być np. obiekt, który wyświetla imie usera, albo dużo
> bardziej złożony: np. menu. Mają one specjalną składnię - nie występującą w
> HTML itp. Owszem, i to da się zaimplementować w bazie lecz wtedy trzeba dość
> złożone operacje wykonywać w triggerach. Jeden średnik w złym miejscu może
> sporo pracy przysporzyć.
Jaka by to składnia nie była dla oznaczenia tagów to jest ona deterministyczna
i wycięcie znaczników z treści to jest jakby nie było prosty regexp, a nie
złożone operacje.
--
+ ' .-. .
, * ) )
http://kosmosik.net/ . . '-' . kK
Następne wpisy z tego wątku
- 20.03.10 14:36 Marek
- 20.03.10 17:10 Borys Pogoreło
- 21.03.10 04:27 Konrad Kosmowski
- 21.03.10 22:57 Marek
- 21.03.10 23:16 Konrad Kosmowski
- 22.03.10 13:26 Marek
- 22.03.10 19:18 Konrad Kosmowski
- 22.03.10 20:05 Marek
- 23.03.10 20:49 Artur Muszyński
- 24.03.10 20:15 Marek
- 27.03.10 17:24 Artur Muszyński
- 27.03.10 17:27 Artur Muszyński
- 28.03.10 14:42 Marek
Najnowsze wątki z tej grupy
- Jakie znacie działające serwery grup dyskusyjnych?
- is it live this group at news.icm.edu.pl
- php, linki z nazwami a $_GET, SEO
- www polityka pl captcha
- dyktatura brudnego palucha
- www.znanylekarz.pl
- Czy pytanie o sczytywanie stron programami/skryptami to tu?
- Grupy webdevowe
- Jak wydrukować stronę?
- IIS, kilka witryn
- linki <a href="/strona.php"> (ze slashami)
- co rozszerza stronę??
- responsywny akapit <p>
- Czy istnieje jakiś emulator przeglądarek pod Mac'a?
- taka sama konfiguracja dla localhost i produkcji
Najnowsze wątki
- 2025-02-01 Śmierć mózgu a narządy do pobrania
- 2025-01-31 A niektórym to naprawdę zależy na ekologi w miastach LPG POWRACA ;-)
- 2025-01-31 Lublin => Programista Delphi <=
- 2025-01-31 Łódź => Programista NodeJS <=
- 2025-01-31 Wrocław => Senior SAP Support Consultant (SD) <=
- 2025-01-31 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2025-01-31 Gdańsk => iOS Developer (Swift experience) <=
- 2025-01-31 Kraków => UX Designer <=
- 2025-01-31 Warszawa => Data Engineer (Tech Leader) <=
- 2025-01-31 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-01-31 Gliwice => Business Development Manager - Network and Network Security
- 2025-01-31 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-31 Warszawa => Full Stack .Net Engineer <=
- 2025-01-31 Warszawa => Programista Full Stack (.Net Core) <=
- 2025-01-31 Gdańsk => Programista Full Stack .Net <=