Miklas Njor

Javascript åbne/lukke funktion til dit WordPress kommentar felt

Fungerer i: Firefox, Safari, Chrome.

Mulige konflikter:
Der kan opstå problemer med WP Ajaxify Comments, hvilket kan få siden til at hoppe op til toppen. Det er kun et problem hvis du sammmen med WP Ajaxify Comments også bruger Auto Load Next Post pluginet.

Set up

Abstrakt: Dine brugere forventer sig, at de kan kommentere på din blog, men, meget få brugere benytter sig at denne funktion. Dit kommentarfelt optager en masse plads. At fjerne den er udelukket, fordi du gerne vil give brugere muligheden for at kommentere. Dette skaber en kløft mellem brugervenlighed og funktionalitet, og dit website’s design. Kommentar bokse fylder en hel del, fordi brugere skal udfylde mindst tre felter, nemlig navn, email og selve kommentaren. Oven i det, skal der også være en “send” knap, og måske endda mulighed for at tilmelde sig dine nyhedsbreve, nye kommentarer eller at kunne logge ind med sociale profiler. Så kommentar feltet bliver nødt til at være der, det skal bare helst ikke være i vejen. Det er god informationsarkitektur (langt ord).

Jetpack har en smart måde at komme rundt om dette problem, hvor kommentar feltet udvides når brugeren klikker inde i kassen. Det er god brugervenlighed, men jeg kunne ikke få denne feature til at fungere, for lige meget hvad jeg gjorde (CHMOD’ing af filer, ændring af .htaccess, deaktivering af plugins), fik jeg hele tiden fejlmeldingen: “You don’t have permission to access /wp-comments-post.php”.

Et andet problem var, at jeg bruger Auto Load Next Post pluginet til at automatisk hente nye indlæg under den artikel som folk er ved at læse. Hvis kommentar feltet fylder for meget, så er det svært for læsere, at fatte, at der er mere indhold neden under artiklen.

En mulig måde at komme rundt om det problem kunne være at have en lille javascript popup, der gør læseren opmærksom på at der er flere artikler længere nede, men til sidst vil de bliver tosset over hele tiden at få besked, og så skal man til at kode, så den tæller hvor mange gange den er vist, og så skal man pille ved cookies, så man kan holde styr på om brugeren er tilbagevendende, yada-yada, og så videre o.s.v.

Derfor besluttede jeg at indsætte en simple javascript af/på toggle knap der åbner og lukker for kommentarfeltet, så de brugere der ønsker at skrive kommentarer, kan det, og de resterende 99% skal ikke se på en stor kasse der stjæler en masse plads.

Værktøjer du har brug for:

For at lave ændringer i filerne, så skal du bruge notepad, hvis du er på en Windozs maskine, og text-edit, hvis du er på Mac. Hvis du er på Linux, så håber jeg du ved hvad du skal (for jeg ved det ikke!). Andre brugbare IDE’er er TextWrangler, TextMate og Komodo Edit. Du skal også bruge et ftp program til at hente og uploade filerne, f.eks. FileZilla eller Transmit.

Filer du har brug for:

  • comments.php (i dit temas mappe – brug ftp programmet til at hente det)

  • functions.php (i dit temas mappe – brug ftp programmet til at hente det)

  • header.php (i dit temas mappe – brug ftp programmet til at hente det)

  • style.css (i dit temas mappe – brug ftp programmet til at hente det)

  • js.js (denne fil skaber du selv og uploader til dit tema’s mappe via ftp programmet)

En kommentar om functions.php
Når du opdaterer dit tema, så overskrives (slettes) dine filer og dermed også de ændringer du har lavet. Dette er lidt problematisk. Hvis du (måske korrekt) føler at du ikke burde ændre i dit tema’s functions.php fil, så kan du oprette et Child Theme baseret på dit nuværende tema og tillægge nye funktioner i functions.php, style.css eller js.js dér, eller du kan skabe det der hedder en Must Use plugin. Det lyder alt sammen lidt farligt, men der er mange steder der forklarer det. Se Referencer længst ned på siden. En anden løsning kan være at oprette en fil på serveren (f.eks. mine_aendringer.html), hvor du skriver små kommentar til hvad du har ændret. Du kan også installere Note Press pluginet til at skrive noter om dit site i admin delen.
Ok, nok snak! Lad os komme igang.

Sådan skaber du et fold ud javascript kommentar felt til WordPress

Trin 1 (comment_form())

Først skal du sikre dig, at du bruger comment_form() i dit tema. Du kan tjekke dette ved at åben comments.php og lede efter følgende kode bid:
<?php comment_form(); ?>.
Hvis ikke du kan se comment_form() noget som helst sted i comments.php, så check andre filer der hedder noget med comments-, eller prøv at emaile tema’ets udviklere. Som et sidste udvej, så skal du måske overveje, om ikke du helt skal skifte tema, for hvis en standard funktion som comment_form() mangler, er der måske også andre fejl og mangler og problemer.

Grunden til at du skal sørge for at comment_form() findes, er fordi vi skal skrive noget kode som går ind og lægger noget til funktionen, så hvis ikke den er der…

Trin 2 (opret javascript filen)

Opret en fil der hedder “js.js” (.js står for javascript). Du kan i bund og grund kalde filen hvad som helst, bare du sørger for, at hvis du har navngivet filen “superduper”, at du husker at smide et .js som endelse, ellers kan browsere ikke finde ud af, at filen er en javascript fil.

Trin 3 (indsæt javascript)

I din js.js fil (eller hvad du nu har kaldt den), skal du indsætte følgende kode:

Gem filen og upload den til dit temas mappe.

Dette burde ikke lav ged i det for andre funktionaliteter på dit site eller clashe med andre jQuery features, som mange WordPress hjemmesider bruger. Jeg havde selv lidt problemer med at lave denne funktionalitet i jQuery, så derfor er den skrevet i old school javascript. Koden er nappet fra CSS Tricks.

Trin 4 (indsæt link til javascript filen)

Åben din header.php fil og indsæt et link til javascript filen vi lige har uploadet. Hvis du er usikker på hvordan du gør det, så kan du her ser hvordan jeg gør det:

dette indsættes i header.php i

sektionen lige over

og sørg for at du ikke indsætter linket imellem

Gem filen og upload den til dit temas mappe.

Trin 5 (functions.php)

Åben functions.php fra dit temas mappe.
Hvis du ikke har en fil der hedder functions.php (ret usandsynligt), så skaber du bare en ny fil og kalder den, nemlig, functions.php og indsætter følgende kode:

OK. Hvis du har en functions.php fil, så skal du lige over følgende syntax: ?>, som du finder længst nede i filen, lige over det, skal du indsætte følgende kode:

Gem filen og upload den til dit temas mappe..

Trin 6 (CSS)

Hvis du vil være endnu finere på den, så kan du indsætte følgende i din style.css

På den måde så kan folk se at knappen har en eller anden funktion.

Gem filen og upload den til dit temas mappe.

Referencer

Javascript koden:
https://css-tricks.com/snippets/javascript/showhide-element/

Hvis du vil indsætte knappen et andet sted, så har du et par muligheder. Det er en lidt anderledes process, som du kan læse om her:
http://codex.wordpress.org/Function_Reference/comment_form
http://justintadlock.com/archives/2010/07/21/using-the-wordpress-comment-form

Sådan laver du Must Use (MU) plugins:
Fra Justin Tadlock (en rigtig god forklaring):
http://justintadlock.com/archives/2011/02/02/creating-a-custom-functions-plugin-for-end-users
Fra WordPress Codex: (overfladisk):
http://codex.wordpress.org/Must_Use_Plugins

Child themes
http://code.tutsplus.com/tutorials/child-themes-basics-and-creating-child-themes-in-wordpress–wp-27475
http://codex.wordpress.org/Child_Themes

Jetpack related posts og qTranslate-X hack

Problem:
Jeg havde problemmer med at få Jetpack’s Related Posts til at fungere med qTranslate-X. Fejlen var, at Jetpacks Related Posts feature ikke oversatte indlægs overskriften eller link titel tags, og siden det her site er multilingual og mange af articlerne er på dansk og engelsk, så er dette et stort problem.

 Der er jo mange indstillinger i WordPress’ økosystem, så fejlen kan muligvis være et andet sted. Men efter en længere fejlfindings runde, hvor jeg slog indstillinger fra, slukkede for plugins og rensede cachen i WP, var jeg overbevist om, at fejlen lå i Jetpack. Det viste sig at løsningen var ret simpel, med den undtagelse, at den bliver overskrevet næste gang jeg opdaterer Jetpack pluginet.

På linie 3 i den code snippet nederst, der var den originale kode:

, hvilket betyder, at artiklens titel sendes tilbage til systemet uden alle HTML syntaxen. Men overskriften er ikke blevet internationaliseret, d.v.s. at systemet ikke tager højde for nogen som helst oversættelser af overskriften.

Løsningen
For at rette op på det, lægger du koden: __() rundt om $post_title så linien bliver til

Stedet du skal lave ændringen er: wp-content/plugins/jetpack/modules/related-posts/jetpack-related-posts.php på linie 697 (i version: 20150408 af pluginet)

Alan Turing  © Charis Tsevis https://www.flickr.com/photos/tsevis/ https://flic.kr/p/fiVEFG  © Charis Tsevis https://www.fli

Kunstig Intelligens – en kort introduktion

Definitioner af Kunstig Intelligens (Artificial Intelligence / AI)

Nedenfor fremhæves fire definitioner af Kunstig Intelligens (AI).

  • “Kunstig Intelligens er en disciplin helliget simuleringer af menneskelige kognitive evner på computeren” (Rajaram, 1990).
  • “Kunstig Intelligens er en ny videnskab og forsknings teorier, metoder og teknologier i simulering eller udvikling af menneskers tankeprocesser” (Ling-Fang, 2010).
  • “Kunstig Intelligens er et forsøg på at forstå indholdet af intelligens, og producere en ny intelligent maskine, der kan skabe reaktioner der ligner den menneskelige intelligens” (Ning og Yan, 2010).
  • “Evnen til en enhed at udføre funktioner, der normalt er forbundet med menneskelig intelligens, såsom ræsonnement og manipulere faktuel og heuristisk viden” (Hoseas, Harikrishnan og Rajkumar, 2011).

Feltet af Kunstig Intelligens (Artificial Intelligence: AI) har forbindelser til andre naturvidenskabelige områder som information teori, cybernetics, automatisering, bionics, biologi, phykology, matematisk logik, lingvistik, medicin og filosofi (Ning og Yan, 2010).

Hoseas, Harikrishnan og Rajkumar (Hoseas, Harikrishnan og Rajkumar, 2011) hævder, at en maskine er i sandhed AI, hvis det løser visse klasser af problemer, der kræver intelligens hos mennesker, eller overlever i et intellektuelt krævende miljø. Ifølge denne opfattelse, kan man opdele definitionen i to dele, den erkendelsesteoretiske del, der er, den virkelige verdens gengivelse af fakta , og den heuristiske del, hvor fakta hjælper med at løse problemet gennem regler . Forfatterne identificerer fire krav for at en enhed kan opfattes kan siges at have Kunstig Intelligens, og fremhæver de fordele og ulemper der er ved Kunstig Intelligens.

  • Krav: menneskelige følelser; Opret data til at træffe beslutninger; Selvbevidsthed; og kreativitet og fantasi.
  • Fordele ved AI: Intet behov for pauser eller sove; Rationelle eller forprogrammerede følelser kan føre til bedre beslutningstagning; Let at lave flere kopier.
  • Ulemper ved AI: Begrænset sanseindtryk i forhold til mennesker; Mennesker kan blive forværret, men stadig fungerer, enheder og applikationer kan hurtigt gå i stå, når mindre fejl sætter ind.

AI ses generelt som en intelligent støtte. Mennesker betragter sig selv som om de altid laver rationelle optimale valg. I det lys, vil intelligente computere altid forsøge at finde den rigtige medicinske diagnose eller forsøge at vinde et spil. Men virkeligheden er mere sløret. Mennesker kan have skjulte motiver for at tabe i et spil, måske for at lade et barn opbygge tillid eller foreskrive forskellige medicin baseret på patienter holdning (Waltz, 2006).

Paradigmer i Kunstig Intelligens

Marvin Minsky

Marvin Minsky

AI fokuserer sig mere på teknik og har ingen faste teorier eller paradigmer. Når det er sagt, så er de tre vigtigste paradigmer opsummeret nederst, taget fra JB Baars “Global Workspace Theory” fra sin 1988 bog “En kognitiv teori om bevidsthed” (Baars, 2005) og den agent-baserede model, uafhængigt opfundet og forsvaret af RA Brooks (Brooks, 1990), og Marvin Minsky, i sin bog “Society of Mind” fra 1988 (Brunette, Flemmer og Flemmer, 2009).

Baars: “Global Workspace Theory” bruger en teater metafor, hvor et rampelys skinner på ét område (på scenen), men der er en masse foregår bag scenen. Mennesker kan udfylde og fokusere på en opgave, mens mange andre ting der foregår på samme tid.

Minsky: mener, at bevidstheden er sammensat af mange mindre dele eller agenter, der tilsammen arbejder sammen om at producere intelligens.

Brooks: Opbygger kognition ved hjælp af en lagdelt tilgang, hvor hvert lag kan handle efter eller undertrykke input fra lag under det.

Historie bag Kunstig Intelligens

CE Shannon.

CE Shannon.

Året 1956 og Dartmouth College betragtes som fødselsdato og fødested for kunstig intelligen (AI), da det er første gang udtrykket “Artificial Intelligence” er brugt. Mange af de fremmødte (John McCarthy, Marvin Minsky, Claude Shannon, Nathan Rochester, Arthur Samual, Allen Newell og Herbert Simon) blive førende på området for AI og åbner afdelinger på MIT, Stanford, Edinburgh, og Carnegie Mellon Universitetet (Brunette, Flemmer og Flemmer, 2009).

Men Alan Turings “Turing Test” fra 1950 indfanger ideerne om programmering af en digital computer til at opføre sig intelligent, og Strachey Checkers program fra 1952 er også eksempler på intelligente computere (Hoseas, Harikrishnan og Rajkumar, 2011), ligeledes er også Vannevar Bush’s “Memex” -koncept fra 1945 og “The Turk” fra det attende århundrede (Buchanan, 2005).

Tidslinje for Kunstig Intelligens

professor John McCarthy

professor John McCarthy

1950 – 1969: 1950’erne og 1960’erne oplever en stigning i metoder og programmer der forsøger sig med problemløsning, mønstergenkendelse og naturligt sprog forarbejdning (Natural Language Processing: NLP). Programmeringssproget LISP blev opfundet i 1960 af John McCarthy (Brunette, Flemmer og Flemmer, 2009). Men disse applikationer har problemer med at skalere til større enheder og har svært ved at påtage sig større problemer (Singh og Gupta, 2009). I 1969 dannes International Joint Conferences on Artificial Intelligence (IJCAI).

1970 – 1989: 1970 og begyndelsen af ​​1980’erne bygges større ekspertsystemer som Deep Blue, men man begynder også at forstår kompleksiteten af ​​AI og at dette er et meget mere kompliceret emne end først antaget. Programmeringssproget PROLOG føjes til AI stakken , så at man er i stand til at bruge logik til at ræsonnere om en videnbase. Slutningen af ​​1980’erne blev der indført intelligente agenter, der reagerer på deres omgivelser (Brunette, Flemmer og Flemmer, 2009).

1990 – 1999: I 1990’erne begynder intelligente agenter, robotteknologi og legemliggjort intelligens at finde vej ind i R&D-projekter, med forbedring af computerkraft, sensorer og det underliggende teori. Applikationer (software) begynder at fokusere på at hjælpe virksomheder og organisationer. Slutningen af ​​1990’erne ser forbundne intelligente agenter, og fører til tanken om Distributed Artificial Intelligence via internettet.

2000 – til nu: Et hovedfokus er at tilføje bevidsthed, menneske lignende adfærd og følelser til maskiner (Brunette, Flemmer og Flemmer, 2009). Et andet fokusområde er machine learning, data mining, algoritmer, og kollektiv intelligens, hvilket skyldes mængden af ​​ustrukturerede og tilgængelig data på nettet (og i databaser), samt behovet for at hente mening ud af det hele (Singh og Gupta, 2009). AI spiller også en stor rolle i samfundsvidenskab og Social Network Analysis (SNA) (Ling-fang, 2010).

Fremtiden for Kunstig Intelligens: Waltz (Waltz, 2006) forudser, at fremtiden for AI, for de næste 20 år, vil blive bestemt af samspillet mellem tre faktorer: finansielle faktorer (finansiering) ; Tekniske faktorer (nyttige programmer), videnskabelige faktorer (intelligent fremskridt), med et hovedfokus på “kognitiv protese” og semantiske applikationer, dvs. at man retter sig mod en mere industriel revolutionær udsigt til at hjælpe mennesker udføre deres job og de opgaver, de ikke kan lide eller er dårlige til. Forskning i den bagvedliggende teori vil mindskes. Finansieringen skal komme fra private virksomheder som Google, Yahoo og Microsoft i samarbejde med den akademiske verden. NASA med National Science Foundation (NSF) og andre statslige organer vil ikke være villige til at fortsætte med at finansiere AI forskning. Waltz identificerer fem områder, der vil trives, nemlig:

  • Ekspert IA (machine learning og data mining)
  • Selvstyrende robotter (Reconnaissance, omsorg og pleje, udforskning af rummet)
  • Kognitiv Protese (Semantisk web-applikationer)

samt to andre områder:. AI teori og algoritmer og Turing Test AI , som Waltz betragter som wildcard områder, da de to områder vil have svært ved at producere konkrete resultater.

Begreber indefor Kunstig Intelligens

Mosaik portræt af Alan Turing ved hjælp af den matematiske analyse bruges til at afkode de Enigma maskiner under Anden Verdenskrig.

Mosaik portræt af Alan Turing ved hjælp af den matematiske analyse der blev til at afkode Enigma maskiner under Anden Verdenskrig.

Ekspert Systems (Ekspert AI): Ekspert systemer er baseret på en inference engine og en videnbase. Denne inference engine er ofte regelbaseret (Rajaram, 1990). Ekspert systemer bruges til at hjælpe med beslutningsprocessen. Eksempler: Blodforgiftning diagnostik og kredit godkendelse (Ling-fang, 2010).

Symbolsk matematiske systemer:. Computerprogrammer der er problemorienteret og bruger symboler i stedet for tal (Rajaram, 1990).

Intelligent Communication Systems: Giver mulighed for kommunikation mellem mennesker og maskiner (Rajaram, 1990).

Signal baserede systemer: Med signal baseret kommunikation menes input (visuelisering og audio genkendelse ) og output (visualisering og audio generering ) (Rajaram , 1990).

Symbol baserede systemer og Natural Language Processing (NLP): Symbol baseret kommunikation refererer til forståelsen af naturligt sprog, dvs. semantik eller ræsonnement om, hvad der menes i en sætning (Rajaram, 1990). I øjeblikket er det et område, der får en masse opmærksomhed, på grund af mængden af ​​data som findes på sociale medier og på internettet (Ling-fang, 2010).

Machine Learning: Machine-learning ræsonerer om data ved at studere eksempler (statistik) og bruge problemløsning og beslutningstagning færdigheder baseret på dette, snarere end at følge et sæt regler (Rajaram, 1990)

Logic-Based Learning Systems: Her bruger computeren logik til at ræsonnere om input, dvs hvis dette og dette og dette er sandt, så denne også sand (Rajaram, 1990).

Biological Analog Learning Systems: Computere bygget til at ligne menneskelige krop og hjerne (Rajaram, 1990).

Robotics: Målet er at skabe maskiner, der kan udføre opgaver for mennesker, ikke blot på en industriel tidsalder måde med løbende automatisering, men at intelligent analysere hvert trin og træffe foranstaltninger, afhængigt af opgaven og behov (Ling-fang, 2010).

Referencer

  • [schema type=”person” name=”Baars, J. B.” ] (2005) “Global workspace theory of consciousness: toward a cognitive neuroscience of human experience?”, Progress in Brain Research, Vol. 150, pp. 45 – 52.
  • [schema type=”person” name=”Brooks, R. A.” ] (1990) “Elephants Don’t Play Chess”, Robotics and Autonomous Systems Vol. 6, pp. 3 – 15.
  • [schema type=”person” name=”Brunette, E. S.” ], [schema type=”person” name=”Flemmer, R. C.” ] and [schema type=”person” name=”Flemmer, C. L.” ] (2009). “A Review of Artificial Intelligence”. Proceedings of the 4th International Conference on Autonomous Robots and Agents., Wellington, New Zealand, p385-392.
  • [schema type=”person” name=”Buchanan, B. G.” ] (2005). “A (very) Brief History of Artificial Intelligence”, American Association for Artificial Intelligence – 25th anniversary issue, pp. 53 – 60.
  • [schema type=”person” name=”Hosea, S.” ], [schema type=”person” name=”arikrishnan, V. H. ” ] and [schema type=”person” name=”Rajkumar, K.” ] (2011) “Artificial Intelligence”, 3rd International Conference on Electronics Computer Technology, Vol. 1, pp. 124 – 129.
  • [schema type=”person” name=”Ling-fang, H.” ] (2010) “Artificial Intelligence”, 2nd International Conference on Computer and Automation Engineering (ICCAE), Vol. 4, pp. 575 – 578.
  • [schema type=”person” name=”Ning, S.” ], [schema type=”person” name=”Yan, M.” ] (2010) “Discussion on Research and Development of Artificial Intelligence”, IEEE International Conference on Advanced Management Science(ICAMS 2010), Vol. 1 , pp. 110 – 112.
  • [schema type=”person” name=”Rajaram, N. S.” ] (1990) “Artificial Intelligence: A Technological Review”. ISA Transactions. Vol. 29 (1), pp 1 – 3.
  • [schema type=”person” name=”Singh, V. K.” ] and [schema type=”person” name=”Gupta, A. K.” ] (2009) “From Artificial to Collective Intelligence: Perspectives and Implications”, 5th International Symposium on Applied Computational Intelligence and Informatics, Timisoara, Romania, pp. 545 – 549.
  • [schema type=”person” name=”Waltz, D. A.” ] (2006) “Evolution, Sociobiology, and the Future of Artificial Intelligence”, IEEE Intelligent Systems, pp 66 – 69.
Et lavt men bredt "Decision tree" på en kaffemaskine i 7-Elleven. Når jeg først ved hvilken kaffe jeg vil ha, så skal jeg kun trykke et sted for at udføre opgaven. Problemet er skiltene med mer'salg som forvirrer processen.

Decision Tree (for kaffe) i 7-Eleven

7-eleven decision tree coffee

Et lavt men bredt “Decision tree” på en kaffemaskine i 7-Eleven. Når jeg først ved hvilken kaffe jeg vil ha, så skal jeg kun trykke et sted for at udføre opgaven. Problemet er skiltene med mer’salg som forvirrer processen.

Don Norman taler om “The Gulf of Goals”, hvor brugeren, for hvem vi alle bukker, har bestemte mål. Det er vores job som skabere af “maskinen”, at gøre det så let som muligt at krydse denne “Gulf” så let som muligt, ved at finde fællesnævneren imellem os og brugeren.

Inappropriate childrens mug

Dårlig smag i munden

Inappropriate childrens mug

Inappropriate childrens mug

 Inappropriate childrens mug

Inappropriate childrens mug

Det undrer mig virkelig hvordan det her produkt nåede ud i forretningerne, uden at nogen har hævet et øjenbryn. I det mindste, så er det i kønsneutrale farver.

Forhindringer for brugeren – veje og træer

Undgå at sætte hegn om brugeren

Jeg synes det her er et godt eksempel på at brugerne vil altid forsøge at finde smutveje, og at man ikke skal prøve at begrænse dem i at udføre deres opgave. De vil bare fra A til B, så hurtigt som muligt.

I det her tilfælde, så er der to stier der løber parallelt med hinanden, indtil de deler sig. Hvis man kan tager den ene, så er det ikke umiddelbart klart, at der ikke er nogen udvej før man er kommet igennem på den anden side. Derimod, så har den anden sti mange indgange og udgange, og det ser ud som om, at folk er blevet rigtig trætte af at være låst inde i kun at have et valg, og ikke have muligheden for at bevæge sig som de vil.

Hul i hegnet ved Volden på Christianshavn

Hul i hegnet. Christianshavn, København, Danmark.

Hul i hegnet. Christianshavn, København, Danmark.

Hul i hegnet ved Volden på Christianshavn

Forsøg ikke på at indhegne brugerne

Jeg så det her træ og hegn i Østeranlæg i København, og det er underligt, at træet har slugt hegnet, fordi træet ser ud til at være meget ældre end hegnet. Gad vide hvor længe det har været om at indfange hegnet?

 Træ gror hen over hegn. Østre anlæg, København.

Træ gror hen over hegn. Østre anlæg, København.

Træ gror hen over hegn. Østre anlæg, København

Træ gror hen over hegn. Østre anlæg, København.

Træ gror hen over hegn. Østre anlæg, København

Træ gror hen over hegn. Østre anlæg, København.

Dorthe_Facebook_Invites

Sådan inviterer du dine FB-venner til at like din Page

Problem: Sådan inviterer du dine venner til at ‘like’ din facebook page.

Løsning


Du logger ind på din facebook page.

Klik på foreslå til venner

Og derefter kan du vælge. MEN… du kan ikke vælge de der har et lettere lys-mat profil billede. Der kan være flere grunde, bl.a. at de allerede er fans af din side eller at de i deres indstillinger, har frabedt sig at få invitationer.

De jeg har sat grøn cirkel om kan inviteres. De med rød kan ikke.

NB. Jeg har gjort navnene uskarpe.

{ IPTC:Headline | }

Photoshelters skoddede hotlinking forebyggelse

Dette er ikke en fejl hos WordPress eller Facebook, men en meget kluntet løsning hos Photoshelter. I din Photoshelter admin kan du vælge en “sikkerheds” funktion der gør at ingen kan hotlinke dine billeder. “Det er da en kanon ting” hører jeg dig sige. Ja og nej. Idéen er god og teknisk set har den eksisteret i mange år. Men måden Photoshelter brugen den på stinker.

Når nogen hotlinker dine billeder så bruger de dine fotos på deres site. Oftest uden tilladelse og de stjæler også din båndbredde. For at undgå dette kan du lave en mod_rewrite.

Hvordan virker en mod_rewrite

Her er et simplificeret eksempel på hvordan et mod_rewrite fungerer: Hvis vores-hjemmeside.dk beder om at vise en fil fra vores-hjemmeside.dk’s filsystem så vis den endelig til slutbrugeren, men hvis ikke-vores-hjemmeside.dk (eller andre sites) beder om at vise en fil fra vores filsystem (vores-hjemmeside.dk) så skal du ikke vise den fil.

Oven i det, så kan du sætte visse “krav” som skal opfyldes. F.eks.: Hvis vores-hjemmeside.dk eller facebook.com eller blogger.com eller min-fars-hjemmeside.dk beder om at vise en fil så gør det, ellers vis ingenting.

Problemet med Photoshelter

Hos Photoshelter kan du ikke selv kan indstille disse krav, ej heller har de lavet deres egen “safe-list” over de mest almindelig hjemmesider, hvor deres brugere deler deres billeder. Det vil kun tage et par minutters kodning for at løse problemet og jeg kan simpelt hen ikke forstå, at et stort web-firma har valgt den mest skoddede løsning.

[bctt tweet=”Hvordan kan et stort web-firma vælge den mest skoddede løsning. #photoshelter “]

En anden løsning kunne være at hver bruger automatisk fik to mapper. En lukket med mod_rewrite og en åben. De store billeder kommer i den lukkede mappe og små fotos i den åbne, som man så automatisk var dem der blev vist på sociale medie sites.

Løsningen

Men for at svare på dit spørgsmål, så er den eneste løsning lige nu, at slukke for denne “feature” hos Photoshelter.

Du kan læse mere om hotlinking og mod_rewrite her:

http://www.alistapart.com/articles/hotlinking/

http://perishablepress.com/press/2007/11/21/creating-the-ultimate-htaccess-anti-hotlinking-strategy/

Tine_redirection_navigation

Pæne permalinks på en windows hosted hjemmeside

Det tog lidt tid at finde ud af hvorfor der ikke kunne laves permalinks, indtil det gik op for mig, at sitet ligger på en Windows server.

Svaret fandt jeg her: http://codex.wordpress.org/Using_Permalinks#Permalinks_without_mod_rewrite

Men inden jeg ændrede permalink strukturen installerede jeg et plugin, som er på min top ti over must have plugin. Nemlig Redirection. Det er et meget kraftfuldt plugin, som kan “flytte” dine sider og lave alle mulige sjove 301’s og 310’s, men det kan også bare fungere som et set it and forget it plugin.

Grunden til at jeg installerede det, er at der sikkert er nogen der linker til Tines gamle sider, der hedder noget i stil med http://blog.fotoco.dk/blog/?p=73 og hvis jeg ændrer permalink strukturen til http://blog.fotoco.dk/blog/titlen-på-siden-som-overskriften, så bliver http://blog.fotoco.dk/blog/?p=73 en død side og findes ikke mere. Og det er læseren der klikker linket og specielt Google ikke glade for.

Det er dér Redirection kommer ind i billedet, for når jeg sætter flueben de rigtige steder, så laver den automagisk en redirect for mig. Smart og tidsbesparende.

Sådan installerer du Redirection

Installer via WordPress admin eller gå til Redirection’s side og hente .zip filen.

Gå til Værktøjer (tools) -> Redirection

Gå ind under Redirection -> Options

og sæt flueben i feltet Monitor new posts i afsnittet URL monitoring. Og vælg Modified Posts, hvis den ikke allerede er valgt.

Så, nu kan vi gå i gang med at ændre permalinks uden at de “gamle” sider dør.

/index.php/%year%/%post-name/