Uploaden van lange website

Status
Niet open voor verdere reacties.

Niekgo

Gebruiker
Lid geworden
26 jan 2012
Berichten
6
Hallo.

Ik onderhoud een website waar nogal veel nieuwe berichten geplaatst worden.
Sommige pagina's zijn meer dan 1 MB groot.

Bestaat er een mogelijkheid in Dreamweaver om alleen het nieuwste bericht te uploaden, dus alleen de mutatie zodat wat er al staat niet steeds geupload wordt?
Dat scheelt aanmerkelijk in het dataverker.
 
Of je installeert een CMS, dat komt de beheersbaarheid zekers ten goede, vooral als je iets met nieuws berichten o.i.d. doet ;)
 
Hoi Phr3ak. Bedankt voor je reactie.

Kan ik zo'n CMS inbouwen in Dreamweaver of ben ik verplicht DW vaarwel te zeggen als dat niet kan?
 
Een CMS draait serverside (meestal met php), en wijzigingen daarin worden online via het CMS zelf doorgevoerd. Dan kan idd Dreamweaver bedankt worden voor het ontwerp-werk, en naar het museum.
Maar ... een CMS betekent dat de hele bestaande site daarnaar omgebouwd zal moeten worden. Want alles in een CMS moet naar de pijpen van het CMS dansen, anders werkt het systeem niet.

Wat wel kan met Dreamweaver, is een semi-automatische berichtenpagina maken.
Als volgt:
De nieuwspagina wordt het raamwerk van de berichten. Dat maak je één keer, en staat dan voorgoed op de server.
Ergens op die pagina zet je een brok php:

PHP:
Doctype enz.
...
header, zijkolommen, enz.
...
<h1>Nieuws</h1>
<h2>NIEUWSBERICHTEN, MEDEDELINGEN, TIPS</h2>
<?php 
for ($i = 100; $i >= 1; $i--) {
	$incl = "../updates/nieuws/bericht-".$i.".htm";
	if(file_exists($incl)){
		include($incl);
	}
}
?>
...
footer enz.
Hier is ruimte ingebouwd voor 100 nieuwsberichten, maar het kunnen er ook duizend zijn (of kan tussentijds worden aangepast als het totaal te klein mocht worden).
De volgorde is aflopend, dan komt het laatste bericht bovenaan.
Deze vroegere html-pagina wordt omgedoopt met de extensie .php en geüpload.

De nieuwsberichten zijn nu html-fragmenten die allemaal een strikte naamgeving hebben, hier: "bericht-x.htm", met x als volgnummer van het bericht.
Voor een nieuw bericht hoef je nu alleen maar een html-fragment met dat bericht aan te maken (dus zonder <head> en andere dingen die op een normale pagina staan), te voorzien van het juiste volgnummer, en te uploaden. *)

Op het moment dat een bezoeker de nieuwspagina opvraagt, lijmt de de server alle bestaande nieuwsberichten, inclusief het nieuwe, in de pagina.

Klaar! :)

Met vriendelijke groet,
CSShunter
______
*) Lokaal ziet er uit als kale tekst, want alle opmaak zit hier niet in. Eventueel zou je er voor de berichten-aanmaak een paar tijdelijke javascripts in kunnen zetten, die de css e.d. ophalen.
Zo heb je je eigen mini-CMS. ;)

  • Op deze manier heb ik eens een tijdelijke website in elkaar gefietst, met ook een online-mini-editor voor de berichten, zodat redacteuren zonder veel webervaring met alleen tikken en copy/paste uit de voeten konden. Plus een handleiding om de zaak soepel te laten verlopen.
 
Bedankt csshunter.
Ik ga jouw voorstel proberen.
Ik laat weten hoe het afloopt.
 
Hoi Niekgo,
Nog even een aanvulling.
In het hierboven aangehaalde voorbeeld ging het om bediening door mensen die geen html-editor als Dreamweaver hadden, en ook geen ervaring in het hanteren daarvan.
Als je zelf DW gebruikt, hoeft zo'n omweg met een eigengemaakte mini-editor niet en kan het veel makkelijker in DW zelf, met behoud van je opmaak enz. tijdens het aanmaken.
Als volgt:
  • Je hebt lokaal in DW de complete nieuwspagina als dummy-pagina met alle berichten. *)
  • Daarin maak je het nieuwe bericht aan.
  • Uit de broncode kopieer je de <div> waar het nieuwe bericht in zit.
  • Dat fragment plak je in een los bestandje, en noem je "bericht-x.htm".
  • Uploaden, en klaar! :)
Als er images bij de berichten zitten, of andere "aangehangen voorwerpen" (video-bestanden, pdf's e.d.), dan zullen die even los geüpload moeten worden naar het betreffende mapje op de server. **)
  • Als je éérst de toebehoren uploadt, en pas daarna het bericht zelf, is alles meteen beschikbaar voor de bezoeker.
Je zal zien: het gaat beresnel (het geüploade nieuwe bericht is real-time beschikbaar) en als je het procedé één keer gedaan hebt, wil je nooit meer anders. Dat is de kracht van php! (zie ook nog dit topic).

Succes!
Met vriendelijke groet,
CSShunter
_____
*) Die pagina moet wel buiten het normale automatische DW-oploadproces gehouden worden, waarbij alle gewijzigde pagina's worden geüpload! Anders is de hele operatie zinloos en gaan alsnog al die MB's omhoog. ;)

**) In mijn "case" had ik de bijvoegsels tot een minimum beperkt (alleen pdf's waren mogelijk), om de redactieleden niet op te zadelen met het ftp'en van de toebehoren, waarbij allicht iets fout kan gaan als je daarin niet zo bedreven bent (met risico van downgaan van de hele site...). Maar als je het allemaal zelf doet, is het geen probleem.
 
csshunter, bedankt voor je hulp.
Ik heb nog wat meer hulp nodig.:)
De website is www.fibronot.nl waar vrijwel dagelijks nieuws wordt geplaatst. Op http://www.fibronot.nl/nieuws2012.php staan de korte inleidingen. Aan het einde van elke inleiding wordt verwezen naar het complete artikel dat op een aparte pagina staat.

De hele lijst met complete artikelen wordt opgeslagen in een nieuwsarchief op http://www.fibronot.nl/nieuwsarchief2012.php

Nu valt het aan het begin van het jaar wel mee met het dataverkeer van dat nieuwsarchief, maar zo in augustus, september begint de pagina behoorlijk wat dataverkeer te genereren als ik die telkens compleet moet uploaden.

Dat was de achtergrond van mijn vraag of ik in DW iets kon fabrieken dat alleen de mutaties plaatste.

Alle pagina's op de website hebben een php extensie.

Nu moet je me even helpen met het script dat je gegeven hebt. Hoe gaat in mijn geval regel 9 er uitzien?

Ik heb de hele website hier lokaal op de PC staan. De pagina's worden dus lokaal aangemaakt en in z'n geheel geupload.

Ik heb nu lokaal een dummy pagina gemaakt waar ik als proef wat nieuwe tekst bovenaan heb gezet.
Vervolgens knip ik uit de broncode dat stukje tekst.
Jij zegt Dat fragment plak je in een los bestandje, en noem je "bericht-x.htm".

Tot zover OK. Maak ik dat bestandje aan in Word of Notepad?
Kun je hier wat specifieker zijn?
Ik wil voorkomen dat er gekke dingen gebeuren.:)
Alvast bedankt voor het meedenken. Je mag me evt. ook mailen op info@fibronot.nl
Gr.
Niekgo
 
Hoi Niekgo,
Je hebt ook al losse pagina's met telkens één bericht, zie ik. Dat maakt het makkelijker! :)
Ik heb hier de losse berichten 28 en 29:
In de broncodes zie je hier staan:
HTML:
<!-- knip! -->
 ....
<!-- knip! -->
Die stukjes knip, nee, kopieer je.
Om ongemakken te voorkomen met accenttekens die niet kloppen, kan je het beste Notepad++ gebruiken om ze op te slaan.
  • Dat is een zeer veredeld Kladblok, waarmee je van alles kunt doen.
  • Wat je nodig hebt, is het menu-item "Codering". Na inplakken van het fragment kijk je of de codering op "UTF-8 (zonder BOM)" staat.
  • Is dat niet het geval, dan via hetzelfde menu "Naar UTF-8 (zonder BOM) converteren", en dan opslaan.
De naam van het fragment-bericht gaat worden: archief2012-28.htm, archief2012-29.htm, enz.
  • Als je eerdere berichten ook zo gaat opslaan, dan mogen de eerste berichten géén voorloop-nul krijgen (dus geen archief2012-01.htm, maar archief2012-1.htm), anders herkent php de getallen niet.
  • Ik heb de berichtfragmenten de uitgang .htm gegeven, zodat je daaraan meteen kunt zien dat het niet een gewone pagina is maar een code-fragment. Voor het resultaat maakt dat niets uit, want in de fragmenten staat toch geen php, en de php-machine op de server pakt ook gewone html-pagina's/fragmenten.
Je kunt ze het beste uploaden naar een nieuwe map "archief2012", want het wordt een hele verzameling, en dan komen ze mooi per jaar bij elkaar te staan.
Dit zijn de fragmenten:
Als je ze zo los bekijkt in de browser, zie ze er niet uit; maar in de broncode kan je zien dat die identiek is aan het knipwerk, en bij het inmonteren door php gaat het helemaal goed komen.

Nu alleen nog de verzamelpagina nieuwsarchief2012.php aanmaken, door uit de huidige pagina alle nieuwsberichten te verwijderen.
Met de bovenstaande naamgeving en de nieuwe map komt hiervoor nu in de plaats te staan:
HTML:
...
<!-- content-wrap starts here -->
<div id="content-wrap">
<div id="content">
<div id="main">

<?php 
for ($i = 500; $i >= 1; $i--) {                      // loop max. 500 berichten door
    $bericht = "archief2012/archief2012-".$i.".htm"; // de vindplaats van bericht i van 2012
    if(file_exists($bericht)){                       // als een bestand met die naam bestaat
        include($bericht);                           // plak het bericht hierin
        echo "<hr />";                               // en zet er een scheidingslijntje onder
    }
}
?>

</div>					
</div>
</div>
<!-- content-wrap ends here -->		
...
enz.
Dus zo:
Vorig jaar had je zo'n 360 berichten, dus ik denk dat je met de 500 voorlopig wel vooruit kunt. Maar ook deze pagina werkt nog niet, want deze moet nog de .php uitgang krijgen. Na uploaden is dan het resultaat met de berichten 28 en 29:
Bekijk je daarvan de broncode, dan lijkt het alsof de berichten gewoon in de html zijn ingetikt, en is er niets meer van het inplakken te zien.

(een overzichtje van alle bovenstaande pagina's staat hier)

Zou het zo lukken?
Met vriendelijke groet,
CSShunter
_________
O ja, in het stijlblokje in de <head> van de nieuwsarchief2012.php heb ik toegevoegd, zodat de automatisch toegevoegde scheidingslijntjes tussen de berichten er niet zo pal op staan:
Code:
hr { margin: 40px 0 }

O ja - 2: Als er illustraties bij de berichten komen te staan, kan je de src van die images het beste een absolute URL meegeven:
HTML:
...
<img src="http://www.fibronot.nl/images/imagenaam.png" ... enz.>
Dan kan er niets mis gaan als je het knipsel in een andere map zet dan het volledige bericht zelf.
 
Laatst bewerkt:
CSShunter.

Bedankt!

Het werkt fantastisch. Ik heb de website eerst lokaal op een server aangepast en toen alles goed werkte naar de provider geupload.
Nu fibronot.nl goed werkt is er ook nog http://www.fibronot.nl/ipad.html en http://fibronot.mobi/ . Die komen de komende week aan de beurt, want daar wordt het archief ook behoorlijk groot.
Als je de voorbeelden nog even op bliksekaters wilt laten staan zou je me een groot plezier doen.

Afbeeldingen en .PDF files die ik nogal veel gebruik stonden al in aparte directories op de server, dus dat was bij het overzetten geen probleem.

Nogmaals hartelijk dank en mocht ik nog eens tegen problemen aanlopen dan hoor je het wel.:)
MVrGr
Niekgo
 
Hoi Niekgo,
Gefeliciteerd dat het werkt! :thumb:
De voorbeelden blijven zeker nog een tijd op bliksekaters *), dan kunnen latere bezichtigers van dit topic, met een soortgelijke vraag, ook nog zien dat het echt waar is.

Als je nog verder wilt automatiseren, dan is het menu ook een mooie kandidaat voor een php-include.
Dat kan je er dan bij nieuwe pagina's gewoon in zetten, en loopt dan gelijk op met de al bestaande pagina's.
  • Het verschil is: bij een verandering van het menu moet je het menu op alle oude pagina's (laten) aanpassen en weer door DW laten uploaden (dat zal knarsen en zwoegen worden, met het nodige dataverkeer). Voor de nieuwe pagina's hoef je alleen het menu-fragment aan te passen en te uploaden, en het werkt meteen op alle nieuwe pagina's.
  • Maar: als je de php-include voor het menu in het DW-template zet, hoeft DW maar 1 keer te knarsen om alles te her-uploaden. Daarna gaat het dan ook real-time voor alle pagina's door alleen de include te wijzigen.

Met vriendelijke groet,
CSShunter

*) Ik heb op de voorbeeld-pagina's nog even de robot-meta op noindex,nofollow gezet, dan kan Google er niet bij. :)
 
CSShunter.

Ik gebruik verschillende include files:

<?php
include("../menu.php");
?>

en

<?php
include("../nieuwsfooter.php");
?>

en voor de iPad website:

<?php
include("ipadmenu.php");
?>

en

<?php
include("ipadnieuwsfooter.php");
?>

Dat scheelt inderdaad een hoop werk. Ik kan dus in 1 keer de gehele website van een andere menu-inhoud voorzien.

Als je echter de source van een pagina bekijkt dan zie je echter de volledige tekst in de menufiles staan, maar de includes staan echt op de server.:)

Gr.
Niekgo
 
Hoi Niekgo,
Ha, je neemt geen halve maatregelen. Schitterend toch, zo'n php-magiër op de server, die razendsnel duizend pagina's uit een heel klein hoog hoedje kan toveren! :)

Succes verder!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan