.net CMS
.net CMS > Web Site Maker > Dal lato tecnico > Malfunzionamento

Piccoli bug da correggere

RSS
Autore
Giorno e Ora
Messaggio Operazioni
Andrea Bruno
male
customercare@officialguide.info
Webmaster

ok, la linea ha aggiungere era errata, prova questa:

Log("ParoleCorrelate", 1, Word, Href, Archive, Item.Description.Title, Setup.Language, Status, Level, Category)
Guido Eugenio
male
jenkaitalii@hotmail.com
Theo

Ecco mancava giusto un numero.. Funziona! Il file l'ho modificato ieri sera; poco fa ho scaricato dalla cartella "log" il file di testo ParoleCorrelate.txt (165K), lo apro, digito da tastiera "Ctrl+F" e scrivo nel campo la parola correlata della parte italiana del Sito multilingua .org.. Ed infatti non c'è.

Come dicevo nei precedenti post; è come se la versione in lingua italiana del Portale multilingua non "comunica" al NetWork la sua "chiave".. Però riceve quelle degli altri Siti del NetWork, difatti la parola "Russia" viene correttamente trasformata in un link al Sito .info
Andrea Bruno
male
customercare@officialguide.info
Webmaster

In questa parte vengono loggate solamente le parole correlate riferite alle pagine (e non quelle relative alla configurazione del sito).
Prova a verificare che manchino tutte le parole correlate del sito multi lingua in italiano.
Una delle condizioni "IF" poste prima del log, filtra l'aggiunta delle parole correlate. Ora è da capire cosa è che filtra (non fa giungere la routine ad aggiungere queste parole).

Prova ad aggiungere dopo la linea di codice 1162 "For Each Archive As Integer In Setup.Archive" il codice seguente che crea un file di log dal nome test.txt:

Log("test", 1, Archive, Setup.Language)

Nel file di test dovresti trovare tutta una serie di record che contengono il numero dell'archivio e la lngua. Guarda se li dentro trovi il numero di archivio usato per l'italiano nel file multilingua con accanto l'indicatore della lingua italiana.
Guido Eugenio
male
jenkaitalii@hotmail.com
Theo

Bene lo faccio appena torna online.. Ho il server che va ad intermittenza sin da prima di Natale, funziona 10 volte si e 100 no. smile_confused Spesso vedo salire il numero di utenti online, poi a 200 e più scoppia; neanche si apre più la url del Plesk, è come se il server è.. svenuto. smile_teeth

Sto cercando un altro servizio di host e se ne trovano molti dentro la soglia dei 5 euro/mese, anche in Europa; il fatto è che nessuno dichiara nelle specifiche la voce connessioni massime e se si possono creare gli alias.. Scrivere ad ognuno per chiedere queste informazioni sarebbe un lavoro enorme.
Guido Eugenio
male
jenkaitalii@hotmail.com
Theo

Fatto e riavviato il server. Si è creato un file test sotto app_data/log ed ho atteso sulla mezzora.. Aprendolo trovo queste due righe:::
1/2/2012 1:42:48 PM 2 2
1/2/2012 1:43:06 PM 3 2

Come interpretare questi dati? smile_whatchutalkingabout
Andrea Bruno
male
customercare@officialguide.info
Webmaster

il primo numero sopo PM, è l' ID archivio, mentre il secondo l'ID della lingua (2 è l'italiano).
Dal log si evinche che sono processate le parole correlate degli archivi 2 e 3 per la lingua italiana.
Tu dovresti sapere qualo dei tuoi siti usano gli archivi 2 e 3 con l'italiano. Gli altri siti non vengono presi in considerazione.
Ora do una occhiata al codice e vedo come procedere.
Guido Eugenio
male
jenkaitalii@hotmail.com
Theo

Allora credo di aver capito perché non funge; smile_sad il motivo con molta probabilità sta in uno o più archivi vuoti!
La struttura è questa:
Archivio "2" assegnato al Sito "A" .info in italiano e con contenuti,
archivio "3" assegnato al Sito "B" .com in italiano e con contenuti,
archivi "4, 5 e 6" assegnati al Sito multilingua "C" .com privo di contenuti (4 = italiano, 5 = russo, 6= inglese),
archivi "7, 8, 9, 10 e 11" assegnati al Sito multilingua "D" .org e con contenuti (7 = italiano, 8 = inglese, 9 = russo, 10 = tedesco, 11 = francese).

Quindi potrebbe essere che il codice intoppa se trova uno o più archivi senza contenuti?

Fatto sta che il Sito "C" è un .com privo di contenuti (per ora ha solo i titoli e le descrizioni nelle home) poiché dovrei importarci quello che attualmente si trova in un blog su Splinder; ma sino ad ora il file .XML scaricabile da Splinder è corrotto e malfatto.. Per importarlo andrebbero apportate molte correzioni con appositi script.

@edit
Ho dimenticato di precisare che comunque al Sito in questione "C", gli avevo disattivato le funzioni di condivisione parole, sia dal pannello "configura" e sia sotto le "impostazioni avanzate"; ho fatto anche la prova attivandole (visto mai che da disattivo non fa leggere gli archivi successivi) ma non cambia nulla.
Andrea Bruno
male
customercare@officialguide.info
Webmaster

OK, i siti A e B vanno perchè sono mono lingua.
I siti che non vanno sono allora quelli multi lingua C e D.

Prova a sostituire la Sub UpdateSubSiteToDomain che va dalla linea 1632 alla 1673 del file config.vb con il codice che segue:

Private Shared Sub UpdateSubSiteToDomain()
Dim SubSiteToDomain As New Collections.Specialized.NameValueCollection
Dim ArchiveToDomain As New Collections.Generic.Dictionary(Of Integer, String)
'SyncLock Links
Dim AllDomain As StringCollection = AllDomainNames()
If AllDomain IsNot Nothing Then
For Each DomainName As String In AllDomain
If Not DomainName.StartsWith("#") Then
Dim Domain As DomainConfiguration = DomainConfiguration.Load(DomainName)
If Not Domain.SubSitesAvailable Is Nothing Then
For Each SubSiteName As String In Domain.SubSitesAvailable
If Domain.SubSitesAvailable.Count = 1 Then
If SubSiteToDomain(SubSiteName) IsNot Nothing Then
SubSiteToDomain.Remove(SubSiteName)
End If
End If
If SubSiteToDomain(SubSiteName) Is Nothing Then
SubSiteToDomain.Add(SubSiteName, DomainName)
End If
Dim Setting As SubSite = SubSite.Load(SubSiteName)
If Setting.Archive IsNot Nothing Then
For Each Archive As Integer In Setting.Archive
If Setting.Archive.Count = 1 Then
If ArchiveToDomain.ContainsKey(Archive) Then
ArchiveToDomain.Remove(Archive)
End If
ArchiveToDomain.Add(Archive, DomainName)
Else
If Not ArchiveToDomain.ContainsKey(Archive) Then
ArchiveToDomain.Add(Archive, DomainName)
End If
End If
Next
End If
Next
End If
End If
Next
End If
Common.SubSiteToDomain = SubSiteToDomain
Common.ArchiveToDomain = ArchiveToDomain
End Sub


Questa routine del file di configurazione crea una tavola di corrispondenza tra i siti configurati e i domini.
Questa tavola viene usata in seguito per individuale al volo una configurazione a quale dominio corrisponde.
Visto che per i siti multi lingua può succedere che più configurazioni siano associate allo stesso dominio, ho cambiato questa routine. Nei miei siti ho sempre avuto che per ogni configurazione vi era un dominio univoco, con questa modifica dovrebbe essere risolto il problema dato che il programma continua a guardare se la configurazione sia associata ad un dominio in maniera univoca, ma in via secondaria guarda anche le associazioni configurazione/dominio non univoche: Per esempio, la configurazione X è sempre associata al dominio X.COM, ma al dominio X.COM non corrisponde univocamente il dominio X, ma molteplici domini (X,Y,Z) una per ogni lingua.
Con questo update il propblema credo sia risolto.
Guido Eugenio
male
jenkaitalii@hotmail.com
Theo

Bene, ho fatto le modifiche e direi che adesso lavora perfettamente.
Solo una curiosità per sapermi regolare; le parole correlate vanno ad influire nella velocità del server? Lo chiedo poiché utilizzando WordPress che gira in Apache e PHP, più se ne inseriscono e più contenuti ci sono nel Sito e maggiore sarà il consumo di memoria a parità di pagine viste e, di conseguenza, può rallentare la velocità del caricamento delle pagine se il server non è performante ed adeguato.. Utilizzando un plugin di cache si risolve però in buona parte il problema.
Andrea Bruno
male
customercare@officialguide.info
Webmaster

Le parople correlate sono caricate obbligatoriamente in ram con altri dati (quelli del primo file di log) per questione di velocità, tuttavia l'utilizzo della ram è esiguo (irrilevante).
Visto che la funzione è applicata dinamicamente sui testi inviati al browser, si ha un utilizzo di CPU che va aumentando più sono le parole correlate. Questa funzione è ottimizzata al massimo, nonostante questo la complesità delle operazioni è assai pesante, di meglio non è possibile fare.
Guido Eugenio
male
jenkaitalii@hotmail.com
Theo

Con la versione 2.85, cioè l'ultima ufficialmente rilasciata, riscontro con gli utenti un problema che prima non c'era.
Scenario precedente alla 2.85 (quello che era con la 2.4):
Se non si era loggati ad uno dei Portali; quando si cliccava sul nome di un utente, la pagina personale di questo veniva aperta nel Sito web di riferimento di quello stesso utente.. Sarebbe a dire l'ultimo Sito web del NetWork dal quale l'user aveva fatto l'accesso.
Se invece ero loggato; nell'aprire un utente non avveniva alcun redirect.

Scenario con la 2.85:
Il primo punto non cambia ed è giusto così; se apro un utente ed in quel momento non sono loggato, avviene il redirect al Portale da cui quell'utente accede (ed è bene sia così anche per i crawler).
Il problema nasce però quando ci si logga; dopo aver fatto l'accesso se apriamo un utente ci troveremo idem redirezionati all'altro Portale dal quale l'utente accede.

Per fare un esempio; mi loggo da komunalka.net (russofilia) Portale nel quale ho privilegi di amministratore-moderatore e devo "bannare" od "ammonire" un utente. Ebbene NON sempre potrei farlo poiché, selezionando il suo username, vengo redirezionato al portale da cui quell'utente accede (che so.. russologia) ed in quel Sito web del NetWork i privilegi di moderazione, ovviamente, non li ho.
In precedenza invece (sino alla 2.4 son sicuro) quando si era fatto l'accesso il redirect nel visitare una pagina utente non era presente. Questo operava solo per le visite dei crawler e dei lettori provenienti dalla Rete, cioè chi non aveva fatto l'accesso o guardava le pagine come guest.
Andrea Bruno
male
customercare@officialguide.info
Webmaster

Sì, non mi ricordavo nemmeno io il perchè di questo cambiamento.. ho dovuto dare una occhiata al codice.
Il motivo principale è che, essendo il CMS multi lingua, se vedi il profilo di un utente in un sito con la lingua differente, le sue foto non hanno ne titolo e ne descrizione dato che queste andrebbero inserite (editandole) nel anche nella lingua del sito con cui si guiarda il profilo.
Un altro motivo è legato ai ruoli amministrativi:
Choi gestisce il sito può avere il ruolo di amministratore, webmaster o supervisore.
Solo al supervisore viene concesso di infierire su tutti i siti (nei vari domini), gli altri hanno un ruolo rilegato solo nel sito che amministrano. Senza la modifica di qui sopra, si darebbe la possibilità ad un amministratore di agire anche sugli user degli altri siti web.
Questa gerarchia dei ruoli molto sviluppata è stata pensata per creare portali in cui ogni utente amministra un suo blog e vi è solo un supervisore che ha accesso a tutti i sito con pieni poteri.