|
| Levering af nyheder til andre sites via ph~ Fra : HLH |
Dato : 09-06-03 11:12 |
|
Hej
Jeg har en side med en sundhedsfaglig brevkasse og artikelsamling, som
løbende opdateres.
Jeg overvejer nu at tilbyde andre sites med samme målgruppe at anvende
indhold fra min side som nyheder på deres efter samme model som Infopaq
leverer nyheder til jubii m.fl. Tanken er, at en partnerside løbende kan
vise f.eks. de 5 seneste spørgsmål og svar fra brevkassen. Partnersiden skal
have overskrifterne og mulighed for at vise hele indholdet af de fem poster
på egen side, kun hvis brugerne ønsker at se mere, skal der linkes til min
side.
Det hele kører nu i MySql og php (hvor jeg i øvrigt selv trækker de 5
seneste spørgsmål til min egen forside).
Spørgsmål:
1: Er det muligt at levere dette indhold til andre sites via min nuværende
MySql-database, så jeg undgår ektra arbejde i forbindelse med opdatering
m.v.?
2: Kan jeg undgå at partnersites får direkte adgang til min database med
password osv? (f.eks. ved at lave en php-side, hvor jeg har trukket alt det
indhold, de skal bruge)
3: Andre gode ideer og løsninger modtages gerne!
mvh
Heini L. Hansen
www.netsundhedsplejerske.dk
| |
Peter Theill (09-06-2003)
| Kommentar Fra : Peter Theill |
Dato : 09-06-03 11:25 |
|
> 1: Er det muligt at levere dette indhold til andre sites via min nuværende
> MySql-database, så jeg undgår ektra arbejde i forbindelse med opdatering
> m.v.?
>
> 2: Kan jeg undgå at partnersites får direkte adgang til min database med
> password osv? (f.eks. ved at lave en php-side, hvor jeg har trukket alt
det
> indhold, de skal bruge)
Det kan goeres paa et hav af maader. Hvis du kan antage at dine partners har
mulighed for server-side scripting kan du lave en RSS
( http://backend.userland.com/rss) fil og de kan saa forespoerge denne for at
faa nyhederne leveret i et kendt format. Du beder dem fx kalde
http://www.netsundhedsplejerske.dk/partners/nyheder.php der vil returnere en
dynamisk RSS fil med:
<?php
header("Content-type: application/rss+xml");
echo "<?xml version=\"1.0\"?>\n";
?>
<rss version="2.0"
xmlns:blogChannel=" http://backend.userland.com/blogChannelModule">
<channel>
<?php
// her laeser du de seneste nyheder fra databasen.
?>
</channel>
</rss>
Du kan saa udvide med usr/pwd kombination hvis du oensker siden kun skal
kunne hentes fra en given partner. Eller du kan basere det paa IP filtering,
etc.
--
Peter Theill - http://www.theill.com/
| |
HLH (09-06-2003)
| Kommentar Fra : HLH |
Dato : 09-06-03 15:27 |
|
> <?php
>
> // her laeser du de seneste nyheder fra databasen.
>
> ?>
Tak for det, men hvordan henter jeg indholdet af <item> og underelementerne
direkte fra min mysql database uden at ødelægge formatet af rss-filen?
Er det i øvrigt ok at filen hedder .php i stedet for .rss eller .xml?
/Heini L. Hansen
| |
Peter Theill (09-06-2003)
| Kommentar Fra : Peter Theill |
Dato : 09-06-03 16:11 |
|
> Tak for det, men hvordan henter jeg indholdet af <item> og
underelementerne
> direkte fra min mysql database uden at ødelægge formatet af rss-filen?
Brug alm. kode til iteration af et result set og lav simpelthen elementer
direkte, fx:
while ($row = mysql_fetch_row($rs)) {
echo('<item>' . $row[0] . '</item>');
}
> Er det i øvrigt ok at filen hedder .php i stedet for .rss eller .xml?
Ja, det er fint saa laenge du beholder din 'Content-type' som vist i mit
tidligere indlaeg.
--
Peter Theill - http://www.theill.com/
| |
Kasper Birch Olsen (09-06-2003)
| Kommentar Fra : Kasper Birch Olsen |
Dato : 09-06-03 21:36 |
|
HLH wrote:
> Hej
>
> Jeg har en side med en sundhedsfaglig brevkasse og artikelsamling, som
> løbende opdateres.
>
> Jeg overvejer nu at tilbyde andre sites med samme målgruppe at anvende
> indhold fra min side som nyheder på deres efter samme model som Infopaq
> leverer nyheder til jubii m.fl. Tanken er, at en partnerside løbende kan
> vise f.eks. de 5 seneste spørgsmål og svar fra brevkassen. Partnersiden skal
> have overskrifterne og mulighed for at vise hele indholdet af de fem poster
> på egen side, kun hvis brugerne ønsker at se mere, skal der linkes til min
> side.
>
> Det hele kører nu i MySql og php (hvor jeg i øvrigt selv trækker de 5
> seneste spørgsmål til min egen forside).
>
> Spørgsmål:
>
> 1: Er det muligt at levere dette indhold til andre sites via min nuværende
> MySql-database, så jeg undgår ektra arbejde i forbindelse med opdatering
> m.v.?
>
> 2: Kan jeg undgå at partnersites får direkte adgang til min database med
> password osv? (f.eks. ved at lave en php-side, hvor jeg har trukket alt det
> indhold, de skal bruge)
>
> 3: Andre gode ideer og løsninger modtages gerne!
>
> mvh
>
> Heini L. Hansen
> www.netsundhedsplejerske.dk
>
>
>
>
>
>
En anden mulighed er at lave et phpscript der genererer en XML fil. Det
er ret let for dem at parse, enten med deres egen kode, eller med XSLT
transformationer, som de fleste browsere understøtter (og som php
understøtter serverside). Jeg kender ikke til RSS, og tror ikke XML/XSLT
løsning er bedre, men det er baren end anden (og efter min egen
erfaring) nogenlunde tilgængelig løsning.
- Kasper
| |
Peter Theill (09-06-2003)
| Kommentar Fra : Peter Theill |
Dato : 09-06-03 21:56 |
|
> Jeg kender ikke til RSS, og tror ikke XML/XSLT
> løsning er bedre, men det er baren end anden (og efter min egen
> erfaring) nogenlunde tilgængelig løsning.
RSS er faktisk netop et XML dokument - man kunne godt lave sit eget
proprietaere format og fortaelle partnerne, at de skulle tjekke for, at der
foerst kom et "<nyheder>" tag, saa et "<nyhed>" tag der kunne have to
attributes, etc, etc. Men eftersom RSS netop er et "standardiseret" (mere
eller mindre :) format vil det i nogle tilfaelde vaere smart at bruge og
derved undgaa at opfinde den dybe tallerken igen.
--
Peter Theill - http://www.theill.com/
| |
HLH (10-06-2003)
| Kommentar Fra : HLH |
Dato : 10-06-03 06:07 |
|
Jeg har prøvet at lave en rss-fil efter Peter Theill's opskrift, men møder
to problemer:
<?php
header("Content-type: application/rss+xml");
echo "<?xml version=\"1.0\"?>\n";
?>
Det ser ud til at linien med echo "<?xml version=\"1.0\"?>\n"; giver
problemer og tolkes som afslutning af <?php.... Er det nødvendigt at have
disse linier i php-tags?
Derudover kan jeg ikke få:
while ($row = mysql_fetch_row($rs)) {
echo('<item>' . $row[0] . '</item>');
}
til at blive godkendt af en rss-validator. Er der en særlig grund til at du
skriver 0 i $row[0]?
Jeg kan let få en "statisk" rss-fil til at virke, men den automatiske
kobling til min MySql-database via php volder stadig problemer.
/Heini L. Hansen
| |
HLH (10-06-2003)
| Kommentar Fra : HLH |
Dato : 10-06-03 08:39 |
|
> Derudover kan jeg ikke få:
>
> while ($row = mysql_fetch_row($rs)) {
> echo('<item>' . $row[0] . '</item>');
> }
>
> til at blive godkendt af en rss-validator.
Det virker nu, men problemet er, at det ikke bliver godkendt af
rss-validatoren, hvis der er danske tegn, hvilket der stort set altid er...
Hvilken betydning har det?
Linien med echo "<?xml version=\"1.0\"?>\n"; kan jeg stadig ikke få til at
virke, da den tolkes som afslutning af <?php. Hvis jeg escaper den sidste >,
kommer denne backslash med i den færdige rss-fil, som derfor ikke
godkendes... Nogle ideer?
/Heini L. Hansen
| |
Johan Holst Nielsen (10-06-2003)
| Kommentar Fra : Johan Holst Nielsen |
Dato : 10-06-03 08:55 |
|
HLH wrote:
> Det virker nu, men problemet er, at det ikke bliver godkendt af
> rss-validatoren, hvis der er danske tegn, hvilket der stort set altid er...
> Hvilken betydning har det?
Har du prøvet:
æ = æ
Æ = Æ
ø = ø
Ø = Ø
å = å
Å = Å
mvh
Johan
| |
HLH (10-06-2003)
| Kommentar Fra : HLH |
Dato : 10-06-03 09:21 |
|
> Har du prøvet:
> æ = æ
> Æ = Æ
> ø = ø
> Ø = Ø
> å = å
> Å = Å
>
> mvh
> Johan
Jeg henter jo indholdet fra en mysql-database, hvor der er danske tegn i
felterne. Hvordan kan jeg konvertere disse, når jeg henter felter fra
databasen? Alternativt - hvordan kan jeg konvertere tegnene, når de skrives
til databasen?
/Heini
| |
Johan Holst Nielsen (10-06-2003)
| Kommentar Fra : Johan Holst Nielsen |
Dato : 10-06-03 09:45 |
|
HLH wrote:
>>Har du prøvet:
>>æ = æ
>>Æ = Æ
>>ø = ø
>>Ø = Ø
>>å = å
>>Å = Å
>>
>>mvh
>>Johan
>
>
> Jeg henter jo indholdet fra en mysql-database, hvor der er danske tegn i
> felterne. Hvordan kan jeg konvertere disse, når jeg henter felter fra
> databasen? Alternativt - hvordan kan jeg konvertere tegnene, når de skrives
> til databasen?
Når de hentes... hvis du har dataene i $row[0] så gør du følgende:
$srch = array('æ','Æ','ø','Ø','å','Å');
$rpl=array('æ','Æ','ø','Ø','å','Å');
$row[0] = str_replace($srch, $rpl, $row[0]);
mvh
Johan
| |
Peter Brodersen (10-06-2003)
| Kommentar Fra : Peter Brodersen |
Dato : 10-06-03 18:53 |
|
On Tue, 10 Jun 2003 09:55:01 +0200, Johan Holst Nielsen
<johan@weknowthewayout.com> wrote:
>Har du prøvet:
[..]
Hvad med at erklære at siden bruger ISO-8859-1? Fx:
echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\" ?>\n";
Alternativt, så kunne man i stedet bruge htmlentities() til at
konvertere æøå og venner. Ellers opstår problemet bare, når noget
tekst indeholder é eller lignende.
--
- Peter Brodersen
| |
HLH (10-06-2003)
| Kommentar Fra : HLH |
Dato : 10-06-03 12:29 |
|
Tak for de mange gode forslag - resultatet af mine (og jeres) anstrengelser
kan ses her:
http://netsundhedsplejerske.dk/feed.php
- Kan det bruges - eller skal der ske yderligere ændringer? (jeg kan ikke
finde ud af at fjerne linieskiftene i description, så det håber jeg ikke er
et problem...)
- Hvilken parser/kode kan anvendes af mine partnere til at inkludere
nyhederne på deres side? (jeg ville foretrække, hvis jeg ikke selv skulle
kode det også...)
- Jeg kan i øvrigt tilføje, at descriptions måske ikke er nødvendige, da man
normalt kun vil vise titlerne for hvert item. Jeg kunne evt. lave en fast
tekst til description, hvis den ikke skal være unik for hvert item.
Håber på flere gode inputs.
mvh Heini L. Hansen
| |
Peter Theill (10-06-2003)
| Kommentar Fra : Peter Theill |
Dato : 10-06-03 14:27 |
|
> - Hvilken parser/kode kan anvendes af mine partnere til at inkludere
> nyhederne på deres side? (jeg ville foretrække, hvis jeg ikke selv skulle
> kode det også...)
Jeg har ikke set proevet det, men fandt lige:
http://www.hotscripts.com/Detailed/6816.html
Der findes et hav paa hotscripts saa hvis ovenstaaende ikke er godt kan du
proeve nogle af de andre.
--
Peter Theill - http://www.theill.com/
| |
Morten Frederiksen (10-06-2003)
| Kommentar Fra : Morten Frederiksen |
Dato : 10-06-03 19:18 |
|
"HLH" <hlh@jubiipostREMOVETHIS.dk> skrev:
>Tak for de mange gode forslag - resultatet af mine (og jeres) anstrengelser
>kan ses her:
>
> http://netsundhedsplejerske.dk/feed.php
>
>- Kan det bruges - eller skal der ske yderligere ændringer? (jeg kan ikke
>finde ud af at fjerne linieskiftene i description, så det håber jeg ikke er
>et problem...)
Fremfor at omdanne de danske tegn til HTML-entiteter (som ikke er
defineret i RSS-filen), bør du blot aflevere dem direkte, og så angive
det tegnsæt du benytter, f.eks. iso-8859-1:
Eksempelvis:
<?xml version="1.0" encoding="iso-8859-1"?>
I øvrigt behøver du ikke den del der definerer namespace for
blogChannel-modulet, da du ikke benytter det.
>- Hvilken parser/kode kan anvendes af mine partnere til at inkludere
>nyhederne på deres side? (jeg ville foretrække, hvis jeg ikke selv skulle
>kode det også...)
Det afhænger naturligvis af dine partneres systemer/sprog, men der
findes (RSS-)parsere til snart sagt alle sprog.
>- Jeg kan i øvrigt tilføje, at descriptions måske ikke er nødvendige, da man
>normalt kun vil vise titlerne for hvert item. Jeg kunne evt. lave en fast
>tekst til description, hvis den ikke skal være unik for hvert item.
Behold dem bare, det kan være de bliver til god nytte en dag.
Morten Frederiksen
---
11th Commandment: Thou shalt not covet thy neighbor's tag
--
Det Blå Hjørne <URL: http://www.dbh.dk/ >, Om Virum-Sorgenfri Håndbold
| |
HLH (11-06-2003)
| Kommentar Fra : HLH |
Dato : 11-06-03 14:22 |
|
Tak til alle - nu virker det hele!
/Heini
| |
|
|