| gb |
| Member |
|
| Germany |
|
|
| None Specified |
|
| Sunday, December 18, 2005 |
| Thursday, June 14, 2007 1:54:05 PM |
22 [0.17% of all post / 0.01 posts per day] |
|
Hallo,
ich bin leider nahezu frei von Programmierkenntnissen, hab mir schon einiges zusammengesucht.
Ich möchte folgendes machen:
Auf http://community.warsownews.net soll eine Liste von RSS feeds erscheinen, so wie es gerade ist. Zur Zeit läuft es so, dass ich mit einem ASP script die XML Daten abhole und in HTML umwandle. Hier der Code:
Code:<% Response.Expires = -1
' =========== RSS2HTML.ASP for ASP/ASP.NET ========== ' copyright 2005-2007 (c)[url=http://www.Bytescout.com]www.Bytescout.com[/url] ' version 1.21, 27 February 2007 ' =============================================== ' ############################################################## ' ####### CHECK OUR COMMERCIAL PRODUCTS FOR ASP/ASP.NET: ####### ' SWF Scout [[url]http://bytescout.com/swfscout.html[/url] ]- create, read, modify flash movies (SWF) ' PDFDoc Scout [[url]http://bytescout.com/pdfdocscout.html[/url] ]- generate PDF documents with security options (PDF) ' ##############################################################
' =========== configuration ===================== ' ##### URL to RSS Feed to display ######### URLToRSS = "http://www.warsownews.net/v1/DesktopModules/DnnForge-NewsArticles/Rss.aspx?TabID=123&ModuleID=547&MaxCount=25"
' ##### max number of displayed items ##### MaxNumberOfItems = 5
' ##### Main template constants MainTemplateHeader = "<div id='box'><ul>" MainTemplateFooter = "</ul></div>" ' #####
' ###################################### Keyword1 = "" ' Keyword1 = "tech" - set non-empty keyword value to filter by this keyword Keyword2 = "" ' Keyword1 = "win" - set non-empty keyword value to filter by this 2nd keyword too ' #################################
' ##### Item template. ' ##### {LINK} will be replaced with item link ' ##### {TITLE} will be replaced with item title ' ##### {DESCRIPTION} will be replaced with item description ' ##### {DATE} will be replaced with item date and time ' ##### {COMMENTSLINK} will be replaced with link to comments (if you use RSS feed from blog) ' ##### {CATEGORY} will be replaced with item category ItemTemplate = "<li><a href=" & """{LINK}""" & ">{TITLE}</a></li>"
' ##### Error message that will be displayed if not items etc ErrorMessage = "Error has occured while trying to process " &URLToRSS & "<BR>Please contact web-master"
' ================================================
Set xmlHttp = Server.CreateObject("MSXML2.XMLHTTP.3.0") xmlHttp.Open "Get", URLToRSS, false xmlHttp.Send() RSSXML = xmlHttp.ResponseText
Set xmlDOM = Server.CreateObject("MSXML2.DomDocument.3.0") xmlDOM.async = False xmlDOM.validateOnParse = False xmlDom.resolveExternals = False
If not xmlDOM.LoadXml(RSSXML) Then ErrorMessage = xmlDOM.parseError.reason & vbCRLF & ErrorMessage End If
Set xmlHttp = Nothing ' clear HTTP object
Set RSSItems = xmlDOM.getElementsByTagName("item") ' collect all "items" from downloaded RSS Set xmlDOM = Nothing ' clear XML
RSSItemsCount = RSSItems.Length-1
' writing Header if RSSItemsCount > 0 then Response.Write MainTemplateHeader End If
j = -1
For i = 0 To RSSItemsCount Set RSSItem = RSSItems.Item(i)
for each child in RSSItem.childNodes
Select case lcase(child.nodeName) case "title" RSStitle = child.text case "link" RSSlink = child.text case "description" RSSdescription = child.text case "pubdate" RSSDate = child.text case "comments" RSSCommentsLink = child.text case "category" Set CategoryItems = RSSItem.getElementsByTagName("category") RSSCategory = "" for each categoryitem in CategoryItems if RSSCategory <> "" Then RSSCategory = RSSCategory & ", " End If
RSSCategory = RSSCategory & categoryitem.text Next End Select next
' now check filter If (InStr(RSSTitle,Keyword1)>0) or (InStr(RSSTitle,Keyword2)>0) or (InStr(RSSDescription,Keyword1)>0) or (InStr(RSSDescription,Keyword2)>0) then
j = J+1
if J<MaxNumberOfItems then ItemContent = Replace(ItemTemplate,"{LINK}",RSSlink) ItemContent = Replace(ItemContent,"{TITLE}",RSSTitle) ItemContent = Replace(ItemContent,"{DATE}",RSSDate) ItemContent = Replace(ItemContent,"{COMMENTSLINK}",RSSCommentsLink) ItemContent = Replace(ItemContent,"{CATEGORY}",RSSCategory)
Response.Write Replace(ItemContent,"{DESCRIPTION}",RSSDescription) ItemContent = "" End if End If
Next
' writing Footer if RSSItemsCount > 0 then Response.Write MainTemplateFooter else Response.Write ErrorMessage End If
'Response.End ' uncomment this for use in on-the-fly output %>
Läuft alles prima, ich hab diesen Code in mehrere einzelne .asp Dateien ausgelagert und für jeden Feed eingestellt. Die einzelnen .asp Dateien fasse ich per include wieder zusammen in der getnews.asp und gebe die Daten aus.
Nun ist es ja so, dass bei jedem Aufruf die Daten neu abgeholt werden und das dauert. Daher würde ich gerne den Output der default.asp mit allen RSS feeds in eine feeds.html Datei auslagern, die ich dann in das Unterverzeichnis /cache/ schreibe. Die default.asp in community.warsownews.net/ soll dann die /cache/feeds.html per include einbinden. Die getnews.asp würde ich mit einem cronjob alle 60 Minuten ausführen. Sie schreibt dann jedesmal die feeds.html neu und so reduziere ich den Ladeaufwand und der User brauch nicht lange warten.
Im Prinzip ist mir die Abfolge klar: 1. Newsfeeds abholen mit getnews.asp 2. Speicherung der Ausgabedaten in einen array/variable (was auch immer) 3. Daten werden in cache/feeds.html geschrieben, dabei wird immer überschrieben 4. default.asp macht include cache/feeds.html
Wie Daten, die ich von einer fremden Seite hole und ausgebe, weiß ich:
Code:<% Private Function GetURL(URL)
' --- Instantiieren des Objekts MSXML2.ServerXMLHTTP Set objHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")
' --- Einstellen der Timeouts in Millisekunden ' --- Es gibt 4 Parameter, die in der nachstehenden Reihenfolge angegeben werden müssen ' ----------------------------------------------------- ' --- resolveTimeout - Auflösen des Hostnamens ' --- connectTimeout - Verbinden mit dem Host ' --- sendTimeout - Senden eines Datenpaketes an den Server ' --- receiveTimeout - Empfangen eines Datenpaketes vom Server ' ----------------------------------------------------- objHTTP.SetTimeouts 1000, 1000, 1000, 1000000
' --- Erstellen des Requests mit folgenden Parametern ' --- bstrMethod - Request-Methode ' --- bstrURL - Adresse der Seite, die ausgelesen werden soll ' --- varAsync - Laden der Seite asynchron (Wenn false, wird synchron geladen) objHTTP.open "GET", URL, false
' --- Senden des Requests objHTTP.send
' --- Der gesamte Text der geladenen Seite steht jetzt in ResponseText ' --- und wird als Rückgabewert der Funktion GetURL zugewiesen. GetURL = objHTTP.ResponseBody
' --- Terminieren des Objekts Set objHTTP = Nothing
End Function %> <html> <head> <title>HTTP GET</title> </head> <body> Hier kommt der Text der Seite[url]http://community.warsownews.net/getnews.asp<br>[/url] <br> <% Response.BinaryWrite GetURL("http://community.warsownews.net/getnews.asp") %> </body> </html>
Ich ahne, dass man das Scripting.FileSystemObject benutzen muss. Wie ich die Daten aber zwischenspeicher und das FSO benutze, ist mir schleierhaft.
Bin über jede Hilfe dankbar.
Grüße, Georg
|
Hallo Daniel,
das mit dem Form ist sehr ärgerlich aber so scheint DNN nun mal gebaut zu sein. Also müsste ich die Suche in ein Modul bauen.
Wie meinst du das mit den Parametern? Ich brauche doch eine Eingabemaske auf der Hauptseite[url=http://www.warsownews.net]www.warsownews.net[/url]. Nen einfachen Link zu der Suche kann ich natürlich auch setzen, ist aber n bischen umständlich für den Benutzer.
Die Suchmaschine von Google umfasst noch weitere Seiten, ist sozusagen ein Angebot. Ich habe bei Google mehere Domains eingetragen und diese mit Tags versehen. So kann sich der Benutzer aussuchen, welche Seiten er in der Trefferliste haben möchte.
|
Hallo allerseits,
ich habe mir eine auf meine Bedürfnisse zugeschnittene Suchmaschein mit dem Google Co-op Programm gebaut: http://search.warsownews.net/. Die funktioniert auch wunderbar und ich bin voll zufrieden.
Jetzt möchte ich auf meiner Hauptseite eine kleine Suchbox mit einem Go-Button einrichten, der dann die Suchseite aufruft.
Google liefert für die Suchbox und für die Ergebnisse einen einfachen form und javascript code:
Code:<!-- Google CSE Search Box Begins --> <form id="searchbox_007226671880494112939:pcvzatfmyh4" action=""> <input type="hidden" name="cx" value="007226671880494112939:pcvzatfmyh4" />
<input name="q" type="text" size="40" /> <input type="hidden" name="hq" value="warsow" /> <input type="submit" name="sa" value="Search" /> <input type="hidden" name="cof" value="FORID:9" /> </form> <script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=searchbox_007226671880494112939%3Apcvzatfmyh4"></script> <!-- Google CSE Search Box Ends --> <br/> <!-- Google Search Result Snippet Begins --> <div id="results_007226671880494112939:pcvzatfmyh4"></div> <script type="text/javascript"> var googleSearchIframeName = "results_007226671880494112939:pcvzatfmyh4"; var googleSearchFormName = "searchbox_007226671880494112939:pcvzatfmyh4"; var googleSearchFrameWidth = 600; var googleSearchFrameborder = 0; var googleSearchDomain = "www.google.com"; var googleSearchPath = "/cse"; </script>
<script type="text/javascript" src="http://www.google.com/afsonline/show_afs_search.js"></script> <!-- Google Search Result Snippet Ends -->
Da ich dafür ein Formular brauche, kann ich den Code nicht einfach in ein Text/HTML Modul kopieren. Ich habe im Xmodforum bereits eine Anfrage gestellt, da aber Xmod prinzipiell Formulare nachbaut, leider läuft das über eine PostBack und das ist laut einem sehr lesenswerten Artikel zum Bau einer ASPX-Seite nicht wünschenswert. Leider habe ich keine Ahnung wie ich den ASPX-Code in ein DNN Modul umwandle.
Hat jemand eine Idee oder sogar selber schon sowas gemacht? Bin für alle Vorschläge dankbar.
Grüße, Georg
|
DnnBB wird soweit ich weiß nicht mehr weiterentwickelt und auch der Support im Forum wurde eingestellt. Ich hatte das Modul im Einsatz und war eigentlich sehr zufrieden, bis auf die Tatsache, dass anstatt der UserNames FullNames in den Topics und Posts angezeigt wurden.
Ich benutze seitdem YAF -[url]http://www.yetanotherforum.net/[/url] - dieses Board wird auch auf dnnportal.de benutzt.
DotNetNuke-Implementierung:[url]http://www.yetanotherforum.net/dnnmodule.aspx[/url]
Ist recht einfach und dauert keine 10 Minuten wenn man der Anleitung folgt.
Einige Themes sind von Anfang an mit dabei.
Viel Erfolg damit!
|
|
War erfolgreich, vielen Dank!
|
Hallo,
bei mir läuft DNN 3.1.1 und ich würde gerne die Länderliste lokalisieren. Da wir hauptsächlich dt. Kunden haben werden, würde ich gerne "Germany" nach "Deutschland" ändern, "Austria" nach "Österreich" (wie kann man Umlaute einbauen?!) und "Switzerland" nach "Schweiz".
An welcher Stelle ich kann die Änderungen vornehmen?
Grüße, Georg
|
dmueller wrote: Wenn ich Dich richtig verstanden habe, dann sollen beide Urls auf das gleiche Portal zeigen, lediglich eine anderer Startseite haben - richtig?
Jap so ist es. Bei Eingabe von von[url=http://www.server.de]www.server.de[/url] erscheint ganz normal die Splashpage. Bei Klick auf "weiter" auf der Splashpage gelangt man zu portal.server.de. Wenn man portal.server.de eingibt soll man direkt auf die "Startseite" des Portals gelangen.
|
Leider habe ich kein passenderes Forum gefunden, daher hier:
Ich möchte eine Subdomain auf eine ganz bestimmte Seite weiterleiten, so dass bei Eingabe von portal.server.de z.B. portal.server.de?tabid=xyz aufgerufen wird. Bei Eingabe von[url=http://www.server.de]www.server.de[/url] soll die Splashpage aufgerufen werden.
Wie kann ich das im IIS einrichten?
IIS Version 6.0, DNN 3.1.1
|
Xmod ist eine Datensammel und -ausgabestelle. 
Kurz umrissen: Per Xmod Formular gibt ein User oder ein Admin Daten ein. Diese werden im XML Format in einer Tabelle gespeichert und können an anderer Stelle mittels HTML+Platzhaltertechnik wieder ausgegeben werden.
Ein klassisches Beispiel wären z.B. ein Gästebuch oder ein Newsscript.
Einträge lassen sich durchsuchen und sortieren, allerdings nicht verknüpfen - und das ist der Punkt, an dem Xmod seine Schwächen hat. Du kannst zwar ein Newssscript damit schreiben, aber es wird nicht mit Kommentaren funktionieren, da sich zwei Xmod Datensätze nicht ohne weiteres verknüpfen lassen.
Zu deinen Anforderungen:
Es gibt einen XMod Calendar, der lässt allerdings nur im Design Änderungen zu.
Onlinebefragungen könnte man wohl nachbauen, allerdings würdest du mit den Daten wenig anfangen können. Du könntest sie lediglich exportieren und mit anderen Programmen grafisch darstellen. Zum Ausführen von Rechenoperationen eignet sich Xmod nicht!
Für Rückfragen bin ich jederzeit ansprechbar.
Grüße, Georg
|
Ein Bekannter sagte mir, dass es MSDE gar nicht mehr zum Runterladen gibt, da SQL Express Edition 2005 nun von MS neuer Standard werden soll. Limitiert SQL Express alle verwalteten Datenbanken auf 1 GB oder jede einzelne DB auf 1 GB? Letzteres wäre ja noch erträglich, wenn man auf allumfassende Logfiles verzichten kann.
Ich werd mir das Angebot von Strato mal anschauen. Danke erstmal für eure Tipps.
|
|