專利名稱:豐富的網(wǎng)站創(chuàng)作和設(shè)計(jì)的制作方法
豐富的網(wǎng)站創(chuàng)作和設(shè)計(jì)版權(quán)申明這項(xiàng)專利文件的公開的一部分包含受版權(quán)保護(hù)的材料。版權(quán)擁有者對專利文件或?qū)@_如其在美國專利和商標(biāo)局專利文件或記錄中所出現(xiàn)的任何傳真復(fù)制品沒有異議, 但是除此之外保留所有版權(quán)權(quán)利。
背景技術(shù):
網(wǎng)頁設(shè)計(jì)者可以使用可用的網(wǎng)頁設(shè)計(jì)工具來構(gòu)建網(wǎng)站的頁面。但是,眾多可用的網(wǎng)站設(shè)計(jì)工具向網(wǎng)站設(shè)計(jì)者提供了有限的功能。此外,一些網(wǎng)站設(shè)計(jì)工具需要終端用戶至少具有對計(jì)算機(jī)語言和相關(guān)功能的一定理解。因此,缺乏一定的計(jì)算機(jī)知識(shí)水平的計(jì)算機(jī)用戶將不能夠或者不愿意使用可用的網(wǎng)站設(shè)計(jì)工具。
發(fā)明內(nèi)容
提供本概述以便以簡化的形式介紹將在以下詳細(xì)描述中進(jìn)一步描述的一些概念。 本概述并不旨在標(biāo)識(shí)出所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要求保護(hù)的主題的范圍。此處描述的實(shí)施例提供了網(wǎng)站設(shè)計(jì)特征和功能,但并非僅限于此。在實(shí)施例中,計(jì)算系統(tǒng)包括能夠用于創(chuàng)作豐富的網(wǎng)站模板的設(shè)計(jì)組件。用戶可以使用和修改網(wǎng)站模板的各方面以作為用于特定網(wǎng)站或者其它用途的模型。在一個(gè)實(shí)施例中,計(jì)算系統(tǒng)包括能夠用于創(chuàng)作網(wǎng)站模板的設(shè)計(jì)組件和/或能夠用于在創(chuàng)建定制的網(wǎng)站中與網(wǎng)站模板的各方面交互并且修改網(wǎng)站模板的各方面的工作室組件。其它實(shí)施例是可用的。通過閱讀以下的詳細(xì)描述并且參考相關(guān)的附圖,這些及其它特征和優(yōu)點(diǎn)將變得顯而易見。可以理解,前述一般描述和以下詳細(xì)描述均僅是說明性的,并且不限制所要求保護(hù)的本發(fā)明。
圖1是具有能夠被配置為提供豐富的網(wǎng)站創(chuàng)作、設(shè)計(jì)和其它功能的組件的示例性計(jì)算環(huán)境的框圖。圖2是具有能夠被配置為提供豐富的網(wǎng)站模板的組件的示例性計(jì)算系統(tǒng)的框圖。圖3是示出創(chuàng)作豐富的網(wǎng)站模板的示例性過程的流程圖。圖4是示出使用豐富的網(wǎng)站模板來創(chuàng)建定制的網(wǎng)站的示例性過程的流程圖。圖5A-5B描繪出示例性的工作室組件用戶界面(UI)。圖6描繪出示例性的定制網(wǎng)站。圖7是示出用于實(shí)現(xiàn)此處描述的各實(shí)施例的示例性計(jì)算環(huán)境的框圖。
具體實(shí)施例方式圖1是具有能夠被配置為提供豐富的網(wǎng)站特征和功能的若干組件的示例性計(jì)算環(huán)境100的框圖,但并非僅限于此。依照各實(shí)施例,如以下所述,計(jì)算環(huán)境100的組件可以用于創(chuàng)作能夠用于創(chuàng)建定制的網(wǎng)站的豐富的網(wǎng)站模板的各方面。例如,網(wǎng)站開發(fā)者可以使用豐富的網(wǎng)站創(chuàng)作工具的特征來創(chuàng)作具有豐富的內(nèi)容和控件的網(wǎng)站模板。如以下所述,并且依照一個(gè)實(shí)施例,環(huán)境100的組件可以包括具有能夠用于定義豐富的網(wǎng)站模板和/或定制的網(wǎng)站的若干站點(diǎn)屬性和值的一個(gè)或多個(gè)方案。此外,例如諸如基于XML的方案的一個(gè)或多個(gè)方案,以及一個(gè)或多個(gè)應(yīng)用程序編程接口(API)可以用于生成代表豐富的網(wǎng)站模板的各方面的一個(gè)或多個(gè)數(shù)據(jù)結(jié)構(gòu),和/或基于在生成定制的網(wǎng)站中使用的豐富的網(wǎng)站模板的定制的網(wǎng)站。例如,一個(gè)或多個(gè)API可以用于將模板性質(zhì)與一個(gè)或多個(gè)方案的屬性值綁定、鏈接或關(guān)聯(lián)。API還可以用于提供以下所述的能夠用于控制與豐富的網(wǎng)站模板相關(guān)聯(lián)的方面的各方法。在一個(gè)實(shí)施例中,網(wǎng)站模板和/或定制的網(wǎng)站模板可以被存儲(chǔ)為作為本地和/ 或遠(yuǎn)程存儲(chǔ)器的一部分的一個(gè)或多個(gè)數(shù)據(jù)結(jié)構(gòu)。此外,豐富的網(wǎng)站模板(或者指向模板的鏈接)可以被發(fā)布在專門的網(wǎng)站上并且被存儲(chǔ)在專門的服務(wù)器或者其它存儲(chǔ)的存儲(chǔ)器中。 例如,在創(chuàng)建豐富的網(wǎng)站模板之后,模板開發(fā)者或作者可以上傳能夠被公眾、用戶組或者個(gè)人訪問和使用的模板。每個(gè)豐富的網(wǎng)站模板可以被設(shè)計(jì)并且與特定的源、服務(wù)、產(chǎn)品等相關(guān)聯(lián),并且然后由消費(fèi)者根據(jù)特定的偏好或者網(wǎng)站主題來定制。在一個(gè)實(shí)施例中,豐富的網(wǎng)站模板可以被定制為特定的實(shí)體、服務(wù)、產(chǎn)品等。作為示例,提供計(jì)算機(jī)維修服務(wù)的企業(yè)主在設(shè)計(jì)網(wǎng)站以宣傳維修服務(wù)時(shí),可以使用具有令人滿意的特征、內(nèi)容和/或布局的豐富的網(wǎng)站模板以作為出發(fā)點(diǎn)或者模型。在一個(gè)實(shí)施例中,一個(gè)或多個(gè)豐富的網(wǎng)站模板可以被下載或者推送到計(jì)算設(shè)備或系統(tǒng)以用于進(jìn)一步的使用和/或修改,和/或通過使用例如諸如因特網(wǎng)之類的計(jì)算網(wǎng)絡(luò)來被訪問和使用。如圖1所示,計(jì)算環(huán)境100包括服務(wù)系統(tǒng)或組件102和終端用戶計(jì)算系統(tǒng)104,各自包括至少一個(gè)處理器和存儲(chǔ)器,并且使用一個(gè)或多個(gè)網(wǎng)絡(luò)彼此通信,但并非僅限于此。盡管只示出一個(gè)計(jì)算系統(tǒng)104和服務(wù)組件102,但是計(jì)算環(huán)境100并不限于此并且可以包括任意數(shù)量的這種系統(tǒng)和其它組件。例如,計(jì)算環(huán)境100可以包括與諸如若干臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、便攜式設(shè)備等多個(gè)用戶計(jì)算機(jī)通信的服務(wù)系統(tǒng)。計(jì)算系統(tǒng)104還可以包括其它的應(yīng)用程序,諸如操作系統(tǒng)、文字處理應(yīng)用程序、電子郵件應(yīng)用程序、日歷應(yīng)用程序等。此外,組件功能可以被進(jìn)一步組合或劃分。在實(shí)施例中,服務(wù)組件102包括設(shè)計(jì)組件106、若干豐富的網(wǎng)站應(yīng)用程序108、若干豐富的網(wǎng)站模板110、和/或若干方案111,但是并不僅限于此。如以下所述,若干豐富的網(wǎng)站模板110可以由模板作者或設(shè)計(jì)者設(shè)計(jì)并且被存儲(chǔ)在與服務(wù)組件102或者一些其它本地或遠(yuǎn)程存儲(chǔ)相關(guān)聯(lián)的存儲(chǔ)器中。例如,可以部分地基于SILVERLIGHT應(yīng)用程序下載所包含的豐富表示和其它特征來實(shí)現(xiàn)豐富的網(wǎng)站應(yīng)用程序108、豐富的網(wǎng)站模板110、和/或其它組件。SILVERLIGHT特征可以用于提供諸如豐富的網(wǎng)站內(nèi)容和控件之類的豐富的網(wǎng)站特征。 專業(yè)設(shè)計(jì)者可以使用設(shè)計(jì)工具(例如Expression Blend ]^用程序)并且專業(yè)開發(fā)者可以使用編碼工具(例如Visual Mudio 應(yīng)用程序)來創(chuàng)建和編輯SILVERLIGHT內(nèi)容。例如,設(shè)計(jì)組件106可以被包括在或者下載到計(jì)算系統(tǒng)104中,并且連同諸如微軟 公司的Visual Mudio 之類的編碼組件118—起使用,以創(chuàng)建與一個(gè)或多個(gè)豐富的網(wǎng)站模板設(shè)計(jì)對應(yīng)的一個(gè)或多個(gè)項(xiàng)目。在一個(gè)實(shí)施例中,可以使用從諸如能夠連同 SILVERLIGHT程序一起使用的網(wǎng)站創(chuàng)作平臺(tái)之類的專用服務(wù)處下載的匯編文件來編譯設(shè)計(jì)組件106。在實(shí)施例中,計(jì)算系統(tǒng)104包括web瀏覽器112、工作室組件114、用戶接口 (UI) 116以及編碼組件118,但是并不僅限于此。盡管僅示出若干示例性組件,但是計(jì)算系統(tǒng)104可以包括更少或另外的組件以及其它特征。如以下所述,工作室組件114可以連同豐富的網(wǎng)站模板一起使用來創(chuàng)建定制的網(wǎng)站。在圖1的示例中,并且依照實(shí)施例,工作室組件114被包含在計(jì)算系統(tǒng)104中。在另一個(gè)實(shí)施例中,工作室組件114可以被配置為基于web的應(yīng)用程序并且可使用web瀏覽器112來訪問。例如,在web瀏覽器112中下載網(wǎng)站模板時(shí),工作室組件114的特征可以在UI116中被呈現(xiàn)為web瀏覽器的一部分或者單獨(dú)的界面。在各實(shí)施例中,工作室組件114可以被配置以包括能夠用于通過使用一個(gè)或多個(gè)豐富的網(wǎng)站模板110作為模型來創(chuàng)建和生成定制網(wǎng)站的若干豐富的工具和特征。在一個(gè)實(shí)施例中,工作室組件114可以操作以部分地基于正在使用的網(wǎng)站模板的各方面來呈現(xiàn)相關(guān)的修改工具,例如基于諸如模板選定的可修改的元素或性質(zhì)之類。如以上簡要描述的,設(shè)計(jì)組件106可以由例如諸如模板作者或設(shè)計(jì)者等用戶使用以創(chuàng)建具有豐富的特征的一個(gè)或多個(gè)網(wǎng)站模板。如以下所述,并且依照實(shí)施例,模板作者可以創(chuàng)建/設(shè)計(jì)作為豐富的網(wǎng)站模板的基礎(chǔ)的以下特征=DMaster. xaml 為應(yīng)用于豐富的網(wǎng)站模板和/或定制的網(wǎng)站的所有頁面的母版頁提供xaml的可擴(kuò)展應(yīng)用程序標(biāo)記語言(XAML)文件(可選擇地,模板作者可以提供相關(guān)的代碼隱藏文件以擴(kuò)展超出聲明的框架);2)Pr0pDesC.Xml 描述母版頁所有可定制性質(zhì)的元數(shù)據(jù)的可擴(kuò)展標(biāo)記語言(XML)文件;以及幻默認(rèn)內(nèi)容被提供為出發(fā)點(diǎn),其中所述默認(rèn)內(nèi)容可以隨著用戶編輯/定制豐富的網(wǎng)站模板的的各方面以作為創(chuàng)建定制網(wǎng)站的一部分而被修改,但是并不僅限于此。在一個(gè)實(shí)施例中,默認(rèn)數(shù)據(jù)包括三個(gè)組件,但是并不僅限于此a)SiteData. xml 提供豐富的網(wǎng)站模板的可定制性質(zhì)的默認(rèn)值的XML文件(文件內(nèi)容隨著用戶定制特定性質(zhì)而改變);b) ContentPage. xaml 為每個(gè)網(wǎng)站頁面包含該文件的單獨(dú)實(shí)例;以及c)諸如圖像、視頻等的資源文件。在一個(gè)實(shí)施例中,對于對創(chuàng)建豐富的網(wǎng)站模板不感興趣的用戶,計(jì)算系統(tǒng)104可以不包括編碼組件118和/或設(shè)計(jì)組件106。例如,網(wǎng)站開發(fā)者可以下載能夠連同編碼組件 118 一起使用以設(shè)計(jì)和生成網(wǎng)站模板的設(shè)計(jì)組件106。如以上簡要描述的,網(wǎng)站模板可以被發(fā)布在網(wǎng)站上,以進(jìn)一步用于創(chuàng)建包括豐富的內(nèi)容和控件的定制網(wǎng)站。依照一個(gè)實(shí)施例,網(wǎng)站創(chuàng)作功能可以被編碼和包括為設(shè)計(jì)組件106的一部分。例如,設(shè)計(jì)組件106可以包括能夠被編程為可執(zhí)行指令的以下創(chuàng)作特征,所述可執(zhí)行指令在被執(zhí)行時(shí)提供能夠在設(shè)計(jì)豐富的網(wǎng)站模板時(shí)使用的設(shè)計(jì)工具。為以下示例假設(shè)設(shè)計(jì)組件 106包括平臺(tái)組件或軟件開發(fā)工具包(SDK)、以及XAP文件,例如諸如SILVERLIGHT應(yīng)用程序的一個(gè)或多個(gè)文件。設(shè)計(jì)組件106可以用于實(shí)現(xiàn)網(wǎng)站模板創(chuàng)建和/或修改過程的各方面, 其中所述XAP文件包括應(yīng)用程序清單文件(例如AppManifest. xaml)和應(yīng)用程序所需的任何數(shù)據(jù)鏈接庫(DLLs)。對于這個(gè)示例
using System ;using System. Collections ;using System. Collections. Generic ;using System. IO ;using System. Linq ;using System. Net ;using System. Reflection ;using System. 0/S ;using System. Browser ;using System. Controls ;usmg System. Documents ;using System. Input ;using System. Markup ;using System. Media ;using System. Media. Imaging ;using System. Media. Animation ;using System. Resources ;using System. Shapes ;using System. Xml ;using System. Xml. Linq ;namespace Author在實(shí)施例中,namespace (命名空間)包括定義了能夠用于創(chuàng)作豐富的網(wǎng)站模板的性質(zhì)和屬性的基本類的基本類(例如AuthorMasterPage (作者母版頁)類),但是并不僅限于此。如以下所述,并且依照一個(gè)實(shí)施例,可以創(chuàng)作或設(shè)計(jì)每個(gè)豐富的網(wǎng)站模板以包括提供對于部分使用基本AuthorMasterPage (作者母版頁)類得到的豐富的網(wǎng)站模板的每個(gè)頁面公用的設(shè)計(jì)和/或內(nèi)容元素的母版頁。例如諸如通過使用工作室組件114, AuthorMasterPage (作者母版頁)類還可以用于創(chuàng)建和/或編輯網(wǎng)站的頁面。如以下所述, 工作室組件114可以被配置為具有網(wǎng)站設(shè)計(jì)功能,所述網(wǎng)站設(shè)計(jì)功能能夠用于插入/編輯/ 刪除文本、圖像、表格、特殊用途控件、和/或網(wǎng)頁的其它視覺和/或交互式元素,改變頁面內(nèi)容的布局,插入/編輯/刪除聽覺特征,插入/編輯/刪除視頻特征,等等。AuthorMasterPage (作者母版頁)類在瀏覽和設(shè)計(jì)時(shí)都提供了功能。例如,在設(shè)計(jì)時(shí),AuthorMasterPage (作者母版頁)類(以及與工作室組件114相關(guān)聯(lián)的其它相關(guān)的類, 在以下進(jìn)一步描述的一個(gè)示例中被稱為Authoi^tudio (作者工作室))能夠用于提供模板消費(fèi)者能夠用來控制網(wǎng)站模板的各方面的用戶界面,諸如已經(jīng)由模板作者或設(shè)計(jì)者定義的與若干站點(diǎn)設(shè)計(jì)性質(zhì)相關(guān)的值。作為另一個(gè)示例,在瀏覽時(shí),基本母版頁(例如AuthorMasterfage (作者母版頁) 類的基本母版頁)包括邏輯或特征以解析諸如基于XML的文件等的文件、和/或?qū)⑿再|(zhì)的值與給定網(wǎng)站的對應(yīng)視覺元素相關(guān)聯(lián)或鏈接。在一個(gè)實(shí)施例中,基本母版頁可以被配置為解析性質(zhì)描述文件(見以下的示例propdesc. xml文件)和站點(diǎn)數(shù)據(jù)文件(見以下的示例sitedata. xml文件),包括確保性質(zhì)值被用于網(wǎng)站對應(yīng)的視覺和/或交互式元素。基本母版頁還可以被配置具有另外的邏輯或特征以呈現(xiàn)導(dǎo)航欄并提供導(dǎo)航功能,諸如使用戶能夠在網(wǎng)站的不同頁面之間切換。在一個(gè)實(shí)施例中,每個(gè)網(wǎng)站模板和任何定制的網(wǎng)站可以被配置為包含包括基本母版頁的單頁面網(wǎng)站,其中所述web瀏覽器不需要導(dǎo)航以響應(yīng)點(diǎn)擊導(dǎo)航欄中的鏈接。若干成員數(shù)據(jù)變量可以用于維護(hù)有用的狀態(tài)信息,例如但不限于任何站點(diǎn)數(shù)據(jù); 性質(zhì)描述(例如propdesc.xml);當(dāng)前活躍的/選定的網(wǎng)頁;活躍的/選定的頁面的根元素; 和/或與活躍的/選定的頁面的內(nèi)容相關(guān)的根元素。在實(shí)施例中,頁面的根元素充當(dāng)頁面中所有其它元素的容器。換句話說,頁面是“頁面元素樹”的“根”元素。同樣地,頁面內(nèi)容的根元素是不由母版頁產(chǎn)生的頁面中所有元素的容器。因此,“頁面內(nèi)容元素樹”是“頁面元素樹”中的子樹。在該子樹中的所有東西對于特定頁面是唯一的,而在該子樹外的所有東西對于特定網(wǎng)站的所有頁面是共同的。在一個(gè)實(shí)施例中,豐富的網(wǎng)站模板的網(wǎng)頁的可定制內(nèi)容可以被定義為除了用設(shè)計(jì)組件106創(chuàng)建的網(wǎng)站的所有頁面所共有的“設(shè)計(jì)”或固定部分之外的網(wǎng)頁的部分。在一個(gè)實(shí)施例中,AuthorMasterPage (作者母版頁)組件可以被配置為在頁面被 web瀏覽器或其它組件加載時(shí)使用XAP文件來讀取和鏈接站點(diǎn)數(shù)據(jù)(例如從sitedata. xml 處)和性質(zhì)描述(例如從propdesc. xml處)。AuthorMasterPage (作者母版頁)組件可以包括或調(diào)用能夠在設(shè)計(jì)和/或?yàn)g覽時(shí)用基本類使用的若干方法。若干示例性方法包括但不限于f^ge_L0aded (頁面_加載的)方法可以在web瀏覽器已經(jīng)完成加載頁面時(shí)被使用 /調(diào)用,并且包括對LoadSiteData (加載站點(diǎn)數(shù)據(jù))方法(見下文)的調(diào)用以部分地基于與性質(zhì)描述方案的參數(shù)對應(yīng)的站點(diǎn)數(shù)據(jù)值來建立網(wǎng)頁的導(dǎo)航欄和設(shè)計(jì)性質(zhì)。例如,web瀏覽器可以從本地或遠(yuǎn)程存儲(chǔ)介質(zhì)中加載頁面或者頁面的一部分,并且工作室組件可以操作以部分地基于默認(rèn)和輸入站點(diǎn)數(shù)據(jù)的值來呈現(xiàn)頁面的導(dǎo)航欄和/或設(shè)計(jì)性質(zhì)以修改豐富的網(wǎng)站模板的性質(zhì)。在一個(gè)實(shí)施例中,Page_L0aded (頁面_加載的)方法可以被配置為檢測用戶與網(wǎng)站或者網(wǎng)站模板的部分或元素交互時(shí)的諸如鼠標(biāo)點(diǎn)擊、口頭命令、筆選擇、觸摸命令等用戶選擇動(dòng)作以作為定制網(wǎng)站模板的一部分。例如,該方法可以部分地基于在諸如性質(zhì)描述文件之類的性質(zhì)描述清單中包含的對應(yīng)性質(zhì)的點(diǎn)擊屬性的值,來檢測鼠標(biāo)點(diǎn)擊或其它選擇事件。前述以及其它檢測方法可以在用戶點(diǎn)擊或者以其他方式與網(wǎng)頁模板的元素或部分交互時(shí)被使用或者調(diào)用,并由此操作以激活例如諸如工具功能區(qū)之類的與包括相關(guān)性質(zhì)類型的點(diǎn)擊元素對應(yīng)的合適的UI編輯工具。例如,檢測方法可以被配置為部分地基于檢測動(dòng)作來操作以激活包括若干工具元素的修改功能區(qū)或工具功能區(qū)。在一個(gè)實(shí)施例中,修改功能區(qū)可以包括已經(jīng)由模板作者定義或描繪的為對應(yīng)的性質(zhì)類型所呈現(xiàn)的編輯工具(見圖5A-5B的示例)。例如,圖像類型的編輯工具可以包括修改圖像方向的工具,但是模板作者可以選擇禁止該工具被顯示,因?yàn)樗幌胱屇0逑M(fèi)者修改圖像的方向。GetContentStream(獲取內(nèi)容流)方法可以被配置為從XAP文件中提取資源文件流。
LoadXmlFromXap (從Xap加載Xml)方法可以被配置為從XAP文件中提取例如XML 文檔的XML文件。例如,這一方法可以用于從已經(jīng)從SILVERLIGHT網(wǎng)站下載的XAP文件中提取XML性質(zhì)描述和站點(diǎn)數(shù)據(jù)文件。LoadSiteData (加載站點(diǎn)數(shù)據(jù))方法可以被配置為部分地基于站點(diǎn)數(shù)據(jù)和性質(zhì)描述來調(diào)用/使用LoadPropertiesFromSiteDatW從站點(diǎn)數(shù)據(jù)加載性質(zhì))方法(見下文) 以建立頁面的設(shè)計(jì)性質(zhì);調(diào)用/使用LoadNavigation (加載導(dǎo)航)方法(進(jìn)一步見下文) 來建立導(dǎo)航欄;和/或調(diào)用/使用SetCurrentPage (設(shè)置當(dāng)前頁)方法(見下文)來激活默認(rèn)網(wǎng)頁。LoadPropertiesFromSiteDatW從站點(diǎn)數(shù)據(jù)加載性質(zhì))方法可以操作以檢查在站點(diǎn)數(shù)據(jù)和性質(zhì)描述中所指定的每個(gè)設(shè)計(jì)性質(zhì)并且基于標(biāo)識(shí)的設(shè)計(jì)性質(zhì)來調(diào)用/使用 UpdateSiteftOperty (更新站點(diǎn)性質(zhì))方法。GetBrushFromSiteData (從站點(diǎn)數(shù)據(jù)處獲取刷)方法可以操作以從站點(diǎn)數(shù)據(jù)中所指定的值處創(chuàng)建刷對象,實(shí)現(xiàn)刷特定的屬性。GetNumberFromSiteData (從站點(diǎn)數(shù)據(jù)處獲取數(shù)值)方法可以操作以根據(jù)站點(diǎn)數(shù)據(jù)中所指定的值計(jì)算數(shù)值。LoadImageftOpertyFromSiteData(從站點(diǎn)數(shù)據(jù)處加載圖像性質(zhì))方法可以操作以根據(jù)站點(diǎn)數(shù)據(jù)中所指定的值創(chuàng)建圖像對象,給予圖像特定的屬性。LoadTextPropertyFromSiteData (根據(jù)站點(diǎn)數(shù)據(jù)加載文本性質(zhì))方法可以操作以根據(jù)站點(diǎn)數(shù)據(jù)中所指定的值創(chuàng)建文本對象,給予文本特定的屬性。這一示例還包括若干虛擬方法,所述虛擬方法包括但不限于UpdateSiteftx)perty(更新站點(diǎn)性質(zhì))虛擬方法可以被配置為部分地基于性質(zhì)描述中所指定的綁定屬性來標(biāo)識(shí)目標(biāo)視覺元素;基于站點(diǎn)數(shù)據(jù)中所指定的性質(zhì)屬性值來設(shè)置目標(biāo)元素的屬性值;和/或使用/調(diào)用例如基于每個(gè)性質(zhì)的類型的類型特定的協(xié)助方法的特定協(xié)助方法和/或其它方法以作為操作的一部分,但是并不僅限于此。在一個(gè)實(shí)施例中,這一虛擬方法可以被廢除以執(zhí)行定制的處理。LoadNavigation(加載導(dǎo)航)虛擬方法可以被配置為檢查站點(diǎn)數(shù)據(jù)中所指定的網(wǎng)頁的列表,并且將每個(gè)頁面與網(wǎng)站母版頁XAML中所指定的導(dǎo)航控件綁定。SetCurrentPage (設(shè)置當(dāng)前頁)方法可以被配置為使用/調(diào)用 GetContentStream(獲取內(nèi)容流)方法以從XAP文件中讀取網(wǎng)頁的內(nèi)容;例如為根元素的狀態(tài)信息建立成員變量;和/或更新導(dǎo)航欄以高亮對應(yīng)的超鏈接,但是并不僅限于此。如以上所述,用戶可以使用工作室組件114和用設(shè)計(jì)組件106設(shè)計(jì)的豐富的網(wǎng)站模板來創(chuàng)建定制的網(wǎng)站。在一個(gè)實(shí)施例中,工作室組件114包括由模板設(shè)計(jì)者確定的自定義工具,其中所述自定義工具可以部分地基于正在修改/編輯的性質(zhì)類型而被呈現(xiàn)。對于這一示例,工作室組件114包括但不限于包括AuthorEditor (作者編輯器)類的 AuthorMudio (作者工作室)命名空間。AuthorEditor (作者編輯器)類可以被定義為包括成員數(shù)據(jù)變量以維護(hù)各狀態(tài)信息,但是并不僅限于此。在一個(gè)實(shí)施例中,這個(gè)類可以包括成員數(shù)據(jù)變量以維護(hù)各狀態(tài)信息,所述各狀態(tài)信息包括但不限于正在被編輯的網(wǎng)站或模板的位置;正在被編輯的網(wǎng)站或模板中的AuthorMasterPage (作者母版頁)實(shí)例;例如諸如功能區(qū)工具之類的編輯工具的狀態(tài);和/或當(dāng)前正在被編輯的網(wǎng)站頁面的元素。
在實(shí)施例中,工作室組件114可以包括AuthorEditor (作者編輯器)組件,所述 AuthorEditor (作者編輯器)組件可以被配置為添加監(jiān)聽器或者檢測方法以檢測和/或等待直到編輯器UI (見圖5A-5B的示例性編輯器UI)被加載為止。AuthorEditor (作者編輯器)組件還可以包括或使用若干另外的方法以作為為特定實(shí)體、服務(wù)、產(chǎn)品等定制網(wǎng)站模板的一部分。根據(jù)一個(gè)實(shí)施例,AuthorEditor (作者編輯器)組件還可以用于部分地基于原始的豐富的網(wǎng)站模板來設(shè)計(jì)新的豐富的網(wǎng)站模板。但是,依照這一實(shí)施例,部分地基于以下設(shè)計(jì),原始的網(wǎng)站模板的某些方面可能是不可修改的。由AuthorEditor (作者編輯器)組件調(diào)用/使用的示例性方法包括但不限于f^ge_L0aded(頁面加載的)方法可以在加載編輯器UI后(見圖5A-5B的示例性修改UI500)被調(diào)用/使用以,但是不僅限于此確定和加載用戶想要修改的網(wǎng)站或網(wǎng)站模板;為一個(gè)或多個(gè)工具功能區(qū)(文本功能區(qū)、圖像功能區(qū)、刷功能區(qū)等)中的一個(gè)或多個(gè)功能區(qū)元素上的點(diǎn)擊/改變事件建立一個(gè)或多個(gè)監(jiān)聽器或檢測方法;連接或關(guān)聯(lián)例如諸如網(wǎng)站的下拉式控件之類的控件的選擇改變事件;和/或檢測和響應(yīng)用戶是否選擇編輯不同的網(wǎng)站或模板。例如,用戶可以使用web瀏覽器112以定位想要的網(wǎng)站模板或者從本地或遠(yuǎn)程存儲(chǔ)中加載默認(rèn)的網(wǎng)站模板,并且I^age^oaded(頁面加載的)方法可以在web瀏覽器112 或其它組件中加載網(wǎng)站以及相關(guān)的界面特征和控件。CurrentProperty (當(dāng)前性質(zhì))方法可以被配置為獲取或設(shè)置用戶當(dāng)前編輯的性質(zhì)。CurrentRibbon(當(dāng)前功能區(qū))方法可以被配置為獲取或設(shè)置能夠用于編輯當(dāng)前性質(zhì)的功能區(qū)。如以上所述,并且依照實(shí)施例,編輯器UI可以部分地基于考慮修改的性質(zhì)類型來顯示具有修改工具的獨(dú)特的功能區(qū)。InsertModule_MouseLeftButtonDown(插入模塊 _ 鼠標(biāo)左鍵按下)、InsertModule_MouseMove (插 A 模塊 _ 鼠標(biāo)移云力)禾口 InsertModule_ MouseLeftButtonUp (插入模塊_鼠標(biāo)左鍵按上)方法提供功能以支持從編輯器UI提供的工具箱中(見圖5A-5B的示例)拖放各種類型的元素(文本、圖像、音頻、視頻等)以包括頁面內(nèi)容,造成頁面中元素的插入,從而允許用戶快速而有效地添加與網(wǎng)站或網(wǎng)站模板的定義性質(zhì)對應(yīng)的內(nèi)容。AddContentColumn_Click(添力口內(nèi)容列 _ 點(diǎn)擊)、AddContentRow_Click (添力口內(nèi)容行 _ 點(diǎn)擊)、DeIeteContentColumn_Click(刪除內(nèi)容列 _ 點(diǎn)擊)、DeleteContentRow_ Cli ck(刪除內(nèi)容行_點(diǎn)擊)、ContentLayoutCel l_MouseMove (內(nèi)容布局單元格_鼠標(biāo)移動(dòng))、ContentLayoutCe ll_MouseLeftButtonUp (內(nèi)容布局單元格_鼠標(biāo)左鍵抬起)、ContentLayoutCell_MouseLeftButtonDown(內(nèi)容布局單元格_ 鼠標(biāo)左鍵按下)、 ContentLayoutCell_MouseLeave (內(nèi)容布局單元格_鼠標(biāo)離開)禾口 ContentLayoutCel 1_ MouseEnter (內(nèi)容布局單元格_鼠標(biāo)輸入)方法提供功能以支持例如諸如面板或網(wǎng)格(見圖5A-5B的508)之類的布局修改工具的修改(例如添加/刪除/重新排列行/列/單元格等),和/或修改頁面內(nèi)容布局。FillFontFamilyCtl (填充字體組控制)方法可以操作以加載具有可用字體組的字體下拉菜單。FillFontColorCtl (填充字體顏色控制)方法可以操作以加載具有可用字體顏色的字體下拉菜單。InitContentLayoutGrid(初始化內(nèi)容布局網(wǎng)格)方法可以操作以初始化布局面板以匹配頁面內(nèi)容的布局。UpdateTextRilAon (更新文本功能區(qū))方法可以操作以更新文本功能區(qū)的狀態(tài)以匹配選定文本元素的狀態(tài)。UpdatelmageRiWxm(更新圖像功能區(qū))方法可以操作以更新圖像功能區(qū)的狀態(tài)以匹配選定圖像元素的狀態(tài)。UpdateBrushRibbon(更新刷功能區(qū))方法可以操作以更新刷功能區(qū)的狀態(tài)以匹配選定刷元素的狀態(tài)。UpdateNumberRibbon (更新數(shù)值功能區(qū))方法可以操作以更新數(shù)值功能區(qū)的狀態(tài)以匹配選定數(shù)值元素的狀態(tài)。GetBrushXaml (獲取刷Xaml)方法可以用于為特定的刷定義XAML。SiteLisLSelectionChanged(站點(diǎn)列表_選擇改變的)方法可以操作以處理編輯不同的網(wǎng)站或網(wǎng)站模板的用戶操作/選擇。VieWSite_Click(查看站點(diǎn)_點(diǎn)擊)方法可以操作以處理瀏覽(在新的瀏覽器窗口中)正在被編輯的網(wǎng)站或網(wǎng)站模板的用戶操作。&weSite_Click (保存站點(diǎn)_點(diǎn)擊)方法可以操作以處理保存對正在被編輯的網(wǎng)站或網(wǎng)站模板做出的所有修改的用戶操作。NavItemClickecK導(dǎo)航項(xiàng)點(diǎn)擊的)方法可以操作以處理激活網(wǎng)站中不同的頁面的用戶操作,并且可以在用戶點(diǎn)擊導(dǎo)航欄中的導(dǎo)航超鏈接以及切換站點(diǎn)以激活超鏈接指向的網(wǎng)頁時(shí)被調(diào)用/使用。ExpandCollapseLayout_Click(擴(kuò)展隱藏布局_點(diǎn)擊)方法可以操作以處理顯示或隱藏編輯器UI的布局面板的用戶操作。RibbonTabctlJelectionChanged (功能區(qū)制表控制_選擇改變的)方法可以操作以處理切換至不同的性質(zhì)組的用戶操作。PropsComboJelectionChanged(性質(zhì)組合_選擇改變的)方法可以操作以處理為正在考慮修改或正在修改的當(dāng)前性質(zhì)組中的不同性質(zhì)呈現(xiàn)編輯或修改功能區(qū)的用戶操作。TextCtl_TextChanged (文本控制_文本改變的)方法可以操作以處理改變文本元素的內(nèi)容的用戶操作。R)ntColorCtl_SelectionChanged (字體顏色控制_選擇改變的)方法可以操作以處理改變文本元素的字體顏色的用戶操作。FontFamilyCtl_SelectionChanged (字體組控制_選擇改變的)方法可以操作以處理改變文本元素的字體組的用戶操作。FontSizeCtl_ValueChanged(字體大小控制_值改變的)方法可以操作以處理改變文本元素的字體大小的用戶操作。DeleteTextjnick(刪除文本_點(diǎn)擊)方法可以操作以處理刪除文本元素的用戶操作。ImageYCtl_ValueChanged(圖像Y控制_值改變的)方法可以操作以處理修改圖像的垂直位置的用戶操作。
ImageXCtl_ValueChanged(圖像X控制_值改變的)方法可以操作以處理修改圖像的水平位置的用戶操作。ImageOpacityCtl_ValueChanged (圖像不透明度控制_值改變的)方法可以操作以處理修改圖像的不透明度的用戶操作。ImageRotateCtl_ValueChanged (圖像旋轉(zhuǎn)控制_值改變的)方法可以操作以處理修改圖像的方向的用戶操作。ImageHeightCtl_ValueChanged (圖像高度控制_值改變的)方法可以操作以處理修改圖像的高度的用戶操作。ImageBrowseCtl_Click(圖像瀏覽控制_點(diǎn)擊)方法可以操作以處理從不同的圖像文件或位置處加載圖像的用戶操作。Deletelmagejnick(刪除圖像_點(diǎn)擊)方法可以操作以處理刪除圖像元素的用戶操作。ColorValueChangecK顏色值改變的)方法可以操作以處理修改刷元素的顏色的用戶操作。GradientTyp^Checked (漸變類型_檢查的)方法可以操作以處理修改刷元素的漸變類型的用戶操作。RadialXY_ValueChanged (放射的乂丫_值改變的)方法可以操作以處理修改放射漸變刷元素的原點(diǎn)的用戶操作。GradientMopsJelectionChanged (漸變終止_選擇改變的)方法可以操作以處理選擇不同的漸變終止以編輯刷元素的用戶操作。NumberSlider_ValueChanged (數(shù)值滾動(dòng)_值改變的)方法可以操作以處理改變視覺性質(zhì)的數(shù)字值的用戶操作。盡管以上已經(jīng)描述了若干方法和組件,但是其它方法、組件和/或功能可以在其它實(shí)施例中實(shí)現(xiàn)。圖2是具有能夠被配置為提供豐富的網(wǎng)站模板和其它功能的組件的示例計(jì)算系統(tǒng)的框圖。在一個(gè)實(shí)施例中,計(jì)算系統(tǒng)200可以被配置為具有能夠用于提供諸如豐富的網(wǎng)站模板202之類的豐富的網(wǎng)站模板的相關(guān)組件的專用服務(wù)器。如以上所述,設(shè)計(jì)者或模板作者可以使用例如諸如設(shè)計(jì)組件106之類的軟件開發(fā)工具包或其它應(yīng)用程序來設(shè)計(jì)包括豐富的設(shè)計(jì)特征的網(wǎng)站模板。為圖2的示例假設(shè)模板作者已經(jīng)為特定的廣告目標(biāo)、服務(wù)、產(chǎn)品、用戶等設(shè)計(jì)了豐富的網(wǎng)站模板202。在一個(gè)實(shí)施例中,可以使用性質(zhì)組件204、XAML組件206、代碼組件208 和站點(diǎn)數(shù)據(jù)210來配置豐富的網(wǎng)站模板202,但是并不僅限于此。計(jì)算系統(tǒng)202還包括例如諸如SILVERLIGHT應(yīng)用程序之類的XAP組件212,所述XAP組件212可以與豐富的網(wǎng)站模板202 —起用于提供豐富的交互式網(wǎng)站特征和其它功能。在替代的實(shí)施例中,可以組合或者進(jìn)一步劃分各組件的功能。在實(shí)施例中,可以使用性質(zhì)類型和相關(guān)屬性的方案來生成性質(zhì)組件204。例如,模板作者可以使用該方案來生成性質(zhì)描述XML文件,所述XML文件包括文本性質(zhì)、數(shù)值性質(zhì)、 圖像性質(zhì)、刷性質(zhì)、枚舉性質(zhì)、音頻性質(zhì)和/或視頻性質(zhì)中的一個(gè)或多個(gè)。模板作者可以使用各種性質(zhì)和相關(guān)屬性來定義特定的豐富的網(wǎng)站模板,其中所述每個(gè)性質(zhì)類型支持某些公用的元數(shù)據(jù)屬性。此外,每個(gè)性質(zhì)類型可以支持類型特定的另外的元數(shù)據(jù)屬性。性質(zhì)值還可以包括對應(yīng)的屬性。在一個(gè)實(shí)施例中,元數(shù)據(jù)屬性由模板作者設(shè)置,并且?guī)椭x相關(guān)性質(zhì)的特性,并且不能夠由其交互在某些情況下受限于修改或設(shè)置值屬性的模板消費(fèi)者修改。與每個(gè)性質(zhì)類型對應(yīng)的公用元數(shù)據(jù)屬性包括但不限于能夠用于表示編輯器器或修改界面中顯示的性質(zhì)名的DisplayName (顯示名稱)元數(shù)據(jù)屬性;與例如諸如網(wǎng)頁模板的視覺元素或一部分之類的可修改性質(zhì)對應(yīng)的點(diǎn)擊元數(shù)據(jù)屬性,所述點(diǎn)擊元數(shù)據(jù)屬性如果被點(diǎn)擊或以其他方式被選擇,將操作以激活用于編輯可修改性質(zhì)的功能區(qū)或修改UI ;和/或?qū)⑿再|(zhì)值與視覺元素的屬性或豐富的網(wǎng)站模板的一部分綁定的綁定元數(shù)據(jù)屬性。根據(jù)一個(gè)實(shí)施例,文本性質(zhì)可以用于定義具有某些格式(例如字體、顏色、大小等)的文本片段;數(shù)值性質(zhì)可以用于定義特定最小-最大范圍內(nèi)的數(shù)值;圖像性質(zhì)可以用于定義包括寬度、高度、方向、透明度和/或其它參數(shù)的圖像或者其它圖形表示;刷性質(zhì)可以用于定義以特定方式跨區(qū)域或其部分應(yīng)用的顏色或顏色的組合;枚舉性質(zhì)可以用于定義值的特定列表(例如枚舉);音頻性質(zhì)可以用于定義音頻剪輯或其它音頻表示;和/或視頻性質(zhì)可以用于定義視頻剪輯或其它視頻表示。還可以定義其它性質(zhì)和/或其它元數(shù)據(jù)屬性。由各性質(zhì)類型支持的另外的元屬性包括但不限于(性質(zhì)屬性)Text (文本)=MaxLength (最大長度);Al IowUserToSetFont (允許用戶設(shè)置字體)。Number (數(shù)值)=MinValue (最小值);MaxValue (最大值)。Image (圖像)RetainAspectRatio (保留縱橫比);AllowRotation (允許旋轉(zhuǎn))。Brush (刷):A1 IowGradients (允許漸變)。Enum(枚舉):The list of allowed values (允許值的列表)。Audio (音頻):MaxSize (最大大小);AlIowedFormats (允許的格式)。Video (視頻):MaxSize (最大大小);AlIowedFormats (允許的格式)。在一個(gè)實(shí)施例中,性質(zhì)值的另外的屬性包括但不限于(性質(zhì)值屬性)Text(文本)=Text (文本);FontFamiIy (字體組);FontSize (字體大小); RmtColor (字體顏色)。Number (數(shù)值):NumericValue (數(shù)字值)。Image (圖像)=ImageSourceFile (圖像源文件);Width (寬度);Height (高度); Rotation (angle)(旋轉(zhuǎn)(角度));Transparency (透明度)。Brush (刷)包括若干屬性的BrushType (刷類型)(例如SolidColorBrush (實(shí)心顏色刷)>LinearGradientBrush (線性漸變刷),RadialGradientBrush (放射漸變刷)以及其組合),所述屬性包括紅/綠/藍(lán)(RGB)顏色空間和每個(gè)刷類型特定的其它值。Enum(枚舉)提供的列表中值的一個(gè))。Audio (音頻)=AudioSourceFile (音頻源文件)。Video (視頻)=VideoSourceFile (視頻源文件)。相應(yīng)地,在將豐富的網(wǎng)站模板202作為模型以創(chuàng)建或設(shè)計(jì)定制的網(wǎng)站時(shí),模板作者可以使用上述各種功能來構(gòu)建包括控制或定義模板用戶的體驗(yàn)的豐富的網(wǎng)站模板。模板消費(fèi)者可以在創(chuàng)建特定網(wǎng)站時(shí),使用各種用戶友好的控件來修改豐富的網(wǎng)站模板的各方面。例如,模板作者可以控制哪些模板性質(zhì)是允許修改的和/或與根據(jù)給定網(wǎng)站模板最終呈現(xiàn)給模板消費(fèi)者的可修改性質(zhì)相關(guān)的工具或功能區(qū)。圖3是示出設(shè)計(jì)豐富的網(wǎng)站模板的示例性過程的流程圖。盡管示出和描述若干操作和操作的順序,但是其它實(shí)施例是可用的。在300處,模板設(shè)計(jì)者或作者可以從諸如 SILVERLIGHT網(wǎng)站之類的網(wǎng)站處下載軟件開發(fā)工具包(SDK)。在一個(gè)實(shí)施例中,SDK可以與諸如微軟 公司的Visual Mudio 之類的編碼工具一起使用來設(shè)計(jì)豐富的網(wǎng)站模板。例如,模板作者可以根據(jù)第三方需要、偏好或關(guān)聯(lián)來設(shè)計(jì)豐富的網(wǎng)站模板。在301處,模板作者可以創(chuàng)建定義命名空間和豐富的網(wǎng)站模板的其它特征的代碼文件,其中所述命名空間或類獲取自SDK中定義的母版命名空間或類。在一個(gè)實(shí)施例中,模板作者還可以定義將與豐富的網(wǎng)站模板一起使用的可執(zhí)行方法。在302處,模板作者可以創(chuàng)建定義了豐富的網(wǎng)站模板的頁面上的控件的XAML文件。例如,模板作者可以定義在模板消費(fèi)者選擇與刷控件對應(yīng)的可修改元素時(shí)呈現(xiàn)的基于刷的控件;在模板消費(fèi)者選擇與文本控件對應(yīng)的可修改元素時(shí)呈現(xiàn)的基于文本的控件;在模板消費(fèi)者選擇與圖像控件對應(yīng)的可修改元素時(shí)呈現(xiàn)的基于圖像的控件;在模板消費(fèi)者選擇與音頻控件對應(yīng)的可修改元素時(shí)呈現(xiàn)的基于音頻的控件;在模板消費(fèi)者選擇與視頻控件對應(yīng)的可修改元素時(shí)呈現(xiàn)的基于視頻的控件,等等。在304處,模板作者可以創(chuàng)建定義了能夠用于控制包括對應(yīng)的修改控件(例如功能區(qū))的豐富的網(wǎng)站模板的各方面的若干性質(zhì)的若干性質(zhì)描述(例如性質(zhì)描述XML文件)。 例如,模板作者可以在使用SDK設(shè)計(jì)豐富的網(wǎng)站模板時(shí)從若干可用的性質(zhì)類型中選擇。作為一個(gè)示例,性質(zhì)描述文件還可以包括能夠與每個(gè)性質(zhì)類型關(guān)聯(lián)以定義用戶修改結(jié)果的若干性質(zhì)屬性。在306處,模板作者可以創(chuàng)建包括定義了豐富的網(wǎng)站模板的內(nèi)容的站點(diǎn)數(shù)據(jù)的站點(diǎn)數(shù)據(jù)文件。在一個(gè)實(shí)施例中,站點(diǎn)數(shù)據(jù)包括與豐富的網(wǎng)站模板的定義的性質(zhì)對應(yīng)的性質(zhì)值。例如,站點(diǎn)數(shù)據(jù)可以用于定義如何在例如瀏覽器窗口的UI中提供豐富的網(wǎng)站模板。在 308處,模板作者可以存儲(chǔ)豐富的網(wǎng)站模板以用于稍后的修改或部署。例如,豐富的網(wǎng)站模板文件(例如代碼文件、性質(zhì)描述文件、站點(diǎn)數(shù)據(jù)文件和XAML文件)可以被本地地和/或遠(yuǎn)程地存儲(chǔ)為若干數(shù)據(jù)結(jié)構(gòu)。作為示例,模板作者可以本地的存儲(chǔ)模板文件,以計(jì)劃實(shí)現(xiàn)豐富的網(wǎng)站模板的一些其它特征。一旦完成,豐富的網(wǎng)站模板可以被提供給用戶以用來基于豐富的網(wǎng)站模板的特征來創(chuàng)建定制的網(wǎng)站。圖4是示出使用豐富的網(wǎng)站模板來創(chuàng)建定制的網(wǎng)站的示例性過程的流程圖。盡管示出和描述若干操作和操作的順序,但是其它實(shí)施例是可用的。在400處,用戶可以將豐富的網(wǎng)站模板標(biāo)識(shí)為創(chuàng)建定制網(wǎng)站的模型。例如,用戶可以使用web瀏覽器來瀏覽具有若干可用的豐富的網(wǎng)站模板的網(wǎng)站并且選擇豐富的網(wǎng)站模板作為模型。作為另一個(gè)示例,用戶可以在先前已經(jīng)下載過和/或開始修改豐富的網(wǎng)站模板,并且可以從本地或遠(yuǎn)程的存儲(chǔ)位置打開豐富的網(wǎng)站模板。在402處,web瀏覽器加載豐富的網(wǎng)站模板并且呈現(xiàn)豐富的網(wǎng)站模板的各方面,包括部分地基于豐富的網(wǎng)站模板的可修改元素來呈現(xiàn)編輯器UI (例如見圖5A-5B)。在404 處,模板用戶可以使用編輯器UI呈現(xiàn)的用戶友好的控件來修改豐富的網(wǎng)站模板的各方面,以作為創(chuàng)建定制網(wǎng)站的一部分。在406處,用戶可以保存定制的網(wǎng)站。例如,定制的網(wǎng)站可以被存儲(chǔ)為本地和/或遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中的一個(gè)或多個(gè)數(shù)據(jù)結(jié)構(gòu)。網(wǎng)站可以被發(fā)布以進(jìn)一步由網(wǎng)頁瀏覽者使用。圖5A-5B描繪了能夠用于在生成定制的網(wǎng)站(見圖6)中修改豐富的網(wǎng)站模板502 的各方面的示例性工作室組件用戶界面(UI)500。對于這一示例,示例性代碼組件可以與豐富的網(wǎng)站模板相關(guān)聯(lián),并且被配置為
using System; using System.ΙΟ; using AuthorSDK;
namespace LuxorSpa {
public partial class LuxorMasterPage : AuthorMasterPage {
public LuxorMasterPage()
InitializeComponent();
public LuxorMasterPage(Stream xapStream) :base(xapStream)
InitializeComponent();
public void NavBtn_Click(obj ect sender, EventArgs e)
base .NavItemClicked(sender);
}繼續(xù)這一示例,XAML組件可以與豐富的網(wǎng)站模板相關(guān)聯(lián),并且被配置為
<Author:AuthorMasterPagex:Class="LuxorSpaluxorMasterPage" xmlns=Mhttp://schemas.microsoft.com/winfx/xaml/presentationM xmlns:x="http://schemas.microsoft.com/winfx/xaml" xmlns:Author="clr-namespace: Author SDK;assembly= Author SDK"><Grid x:Name="LayoutRoot"> <Grid.RowDefinitions>
<RowDefmition Height=" Auto "></RowDefinition> <RowDefmition Height=" * "></Ro wDefinition> <RowDefmition Height=nAuto "></RowDefinition> </Grid.RowDefinitions> 〈Grid. ColumnDefini tions>
<ColumnDefinition Width=" * "></ColumnDefinition> <ColumnDefinition Width=" 150"></ColumnDefinition> <ColumnDefinition Width="630"></ColumnDefinition> 〈ColumnDefinition Width=" * "></ColumnDefinition> </Grid.ColumnDefinitions>
〈Canvas Grid.Column=" 1" Grid.ColumnSpan="2" Height="330"
Width="780">
〈Rectangle x:Name="HeaderBar" Canvas.Top="110" Width="600"
Height=" 80"/>
〈Ellipsex:Name="HeaderCircle"Canvas.Left=M530"
Canvas.Top="30" Width="250" Height=M250"/>
〈Image x:Name="HeaderImage" Height=" 130" Canvas.Top="85"
Canvas.Left="590">
〈Image. RenderTransform>
<RotateTransformx:Name="HeaderImageRotate"
CenterX="65" CenterY="65"/>
〈/Image.Render Transform〉 </Image>
〈TextBlockx:Name="SiteTitle"Canvas.Top="130"
Canvas.Left="50">
<TextBlock.RenderTransform>
<RotateTransform Angle="-4M/> </TextBlock.RenderTransform> </TextBlock>
〈TextBlockx:Name="SiteTagline"Canvas.Top="200"
Canvas.Lefl="50" TextAlignment=MCenter"/> </Canvas>
〈ListBox x:Name="NavBar" Grid.Column="l" Grid.Row="l" Margin=nO,0,20,0" BorderThickness="0">
<ListBox.ItemTemplate> <DataTemplate>
〈TextBlock Tag=" {Binding ContentUrl}" Text=" {Binding NavTitle}" MouseLeftButtonUp="NavBtn_Click"/>
</DataTemplate> </ListBox.ItemTemplate> </ListBox>
〈TextBlockx:Name 二 "FooterText"Grid.Column="l"
Grid.ColumnSpan="2"Grid.Row="3MTextWrapping=nWrap"
HorizontalAlignment="Center"/> </Grid> 〈/Author: AuthorMasterP age>繼續(xù)這一示例,性質(zhì)描述可以被配置為< xml version=" 1.0" encoding="utf-8" > -<PropertyGroups>
-<PropertyGroup DisplayName=nSite header"〉
<PropertyDescription Type="Text" Name=nSvelte SiteTitle" DisplayName=nSite title" ClickOn=nSiteTitle" BindTo=nSiteTitle" />
<PropertyDescription Type="Text" Name=nSiteTagline" DisplayName=nTagline" ClickOn=nSiteTagline" BindTo=nSiteTagline" />
<PropertyDescription Type="Brush" Name=llHeaderBackgroundBrush" DisplayName=nBackground"ClickOn=nHeaderBar,HeaderCircle"
BindTo="HeaderBar.Fill,HeaderCircle.Fill" />
<PropertyDescription Type=nRange" Name=nHeaderImageRotate" Min="0" Max="60" DisplayName=nHeader image angle" ClickOn=nHeaderImage" BindTo二"HeaderlmageRotate.Angle" />
<PropertyDescriptionType="Image"Name=nHeaderImage"
DisplayName=nHeader image" BindTo=nHeaderImage" /> </PropertyGroup> -<PropertyGroup DisplayName="Navigation">
<PropertyDescriptionType="Brush"Name="NavBackgroundBrush"
DisplayName="Background" ClickOn="NavBar" BindTo="NavBar.Background" /> </PropertyGroup> -<PropertyGroup DisplayName="Other">
<PropertyDescriptionType=nBrush"Name=nSiteBackgroundBrush"
DisplayName="Site background" BindTo="LayoutRoot.Background" />
<PropertyDescription Type="Text" Name="FooterText" DisplayName="Footer text" ClickOn=nFooterText" BindTo="FooterText" /> 〈/Property Group> </PropertyGroups>并且,對于這一示例,示例性站點(diǎn)數(shù)據(jù)可以被配置為
< xml version-" 1.0" encoding="utf-8" > -<SiteData> -<Pages>
〈Page Title="Home" NavTitle=nHome" ContentUrl="Home" /> 〈Page Title=nAbout Us" NavTitle=nAbout us" ContentUrl=nAboutus" /> <Page Title=nContact Us" NavTitle=nContact us" ContentUrl="Contactus" /> </Pages>
<PageContentPosition Row="l" Column="2" /> -〈Properties〉 -<SiteBackgroundBrush>
-<![CDATA[<RadialGradientBrush
xmlns=Mhttp://schemas.microsoft.com/winfx/xaml/presentation"
Gradient0rigin="0.7,0.7" Center="?!?1,0.1" RadiusX=".9"
RadiusY=".8M>
<GradientStop Color="#AA3344M 0ffset='O.5"/> <GradientStop Color="#FFAA44" Offset=" l"/> </RadialGradientBrush>
]]>
</SiteBackgroundBrush>
權(quán)利要求
1.一種計(jì)算系統(tǒng)(100),包括 處理器(8)和存儲(chǔ)器(12),設(shè)計(jì)組件(106),所述設(shè)計(jì)組件(106)被耦合至所述處理器(8)并且被配置為 定義包括能夠用于定義網(wǎng)站模板(110)的各方面的若干性質(zhì)和方法的基本類,所述若干方法包括一個(gè)或多個(gè)虛擬方法并且每個(gè)性質(zhì)包括具有元數(shù)據(jù)屬性的性質(zhì)類型;創(chuàng)建包括母版頁的豐富的網(wǎng)站模板(110),所述母版頁包括從所述基本類中選擇的一個(gè)或多個(gè)網(wǎng)站模板性質(zhì)和方法;部分地基于網(wǎng)站模板性質(zhì)中的一個(gè)或多個(gè)來定義豐富的網(wǎng)站模板(110)的可修改部分;將網(wǎng)站模板(110)的每個(gè)可修改部分與對應(yīng)的修改工具相關(guān)聯(lián);以及將豐富的網(wǎng)站模板(110)存儲(chǔ)在存儲(chǔ)器(1 中。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述設(shè)計(jì)組件(106)被進(jìn)一步配置為用專用服務(wù)器(102)來存儲(chǔ)豐富的網(wǎng)站模板(110)。
3.如權(quán)利要求2所述的系統(tǒng),其特征在于,還包括被配置為訪問來自服務(wù)器(102)的網(wǎng)站模板(110)以用于創(chuàng)建定制的網(wǎng)站的工作室組件(114)。
4.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括被配置為部分地基于服務(wù)、產(chǎn)品和主題中的一個(gè)來使用網(wǎng)站模板(110)創(chuàng)建定制的網(wǎng)站的工作室組件(114)。
5.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述設(shè)計(jì)組件(106)被進(jìn)一步配置為創(chuàng)建包括XAML文件、性質(zhì)描述文件和代碼文件的豐富的網(wǎng)站模板(110)。
6.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述設(shè)計(jì)組件(106)被進(jìn)一步配置為定義所述基本類,其中所述虛擬方法包括更新站點(diǎn)性質(zhì)方法和加載導(dǎo)航方法。
7.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述設(shè)計(jì)組件(106)被進(jìn)一步配置為定義所述基本類以包括從文本性質(zhì)類型、數(shù)值性質(zhì)類型、圖像性質(zhì)類型、刷性質(zhì)類型、音頻性質(zhì)類型和視頻性質(zhì)類型中的一個(gè)或多個(gè)中選擇的性質(zhì)類型。
8.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述設(shè)計(jì)組件(106)被進(jìn)一步配置為將網(wǎng)站模板(110)的每個(gè)可修改部分與對應(yīng)的修改功能區(qū)相關(guān)聯(lián)。
9.一種計(jì)算系統(tǒng)(100),包括 處理器(8)和存儲(chǔ)器(12),工作室組件(114),所述工作室組件(114)被耦合至所述處理器(8)并且被配置為 使用網(wǎng)站模板(110)來生成豐富的網(wǎng)站,所述網(wǎng)站模板(110)獲取自包括一個(gè)或多個(gè)性質(zhì)類型的母版頁,所述一個(gè)或多個(gè)性質(zhì)類型選取自文本性質(zhì)類型、數(shù)值性質(zhì)類型、圖像性質(zhì)類型、刷性質(zhì)類型、音頻性質(zhì)類型和視頻性質(zhì)類型,所述每個(gè)性質(zhì)類型具有包括顯示名屬性、點(diǎn)擊屬性和綁定屬性的若干屬性;以及將豐富的網(wǎng)站的參數(shù)存儲(chǔ)在存儲(chǔ)器(1 中。
10.如權(quán)利要求13所述的系統(tǒng),其特征在于,還包括被配置為訪問來自服務(wù)器(102)的豐富的網(wǎng)站模板(110)的web瀏覽器(112)。
11.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述工作室組件(114)進(jìn)一步被配置為基于選定的性質(zhì)類型來提供定制的修改功能區(qū)。
12.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述網(wǎng)站模板(110)包括XAML文件、性質(zhì)描述文件和站點(diǎn)數(shù)據(jù)文件。
13.一種方法,包括加載用作定制網(wǎng)站的模型的豐富的網(wǎng)站模板(110)的各方面,所述網(wǎng)站模型(110)部分地基于包括若干性質(zhì)的母版頁,所述若干性質(zhì)包括文本性質(zhì)、數(shù)值性質(zhì)、圖像性質(zhì)、刷性質(zhì)、音頻性質(zhì)和視頻性質(zhì),其中所述網(wǎng)頁模板包括根據(jù)模板設(shè)計(jì)的若干性質(zhì)中的一個(gè)或多個(gè);檢測與網(wǎng)站模板(110)對應(yīng)的模板設(shè)計(jì)的若干性質(zhì)之一的性質(zhì)選擇;部分地基于與網(wǎng)站模板(110)的檢測到的性質(zhì)選擇對應(yīng)的性質(zhì)類型來激活適當(dāng)?shù)墓δ軈^(qū);部分地基于對豐富的網(wǎng)站模板(110)的性質(zhì)的修改來更新網(wǎng)站;以及將豐富的網(wǎng)站存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)介質(zhì)(1 中。
14.如權(quán)利要求17所述的方法,其特征在于,還包括生成與包括XAML文件、性質(zhì)描述文件和站點(diǎn)數(shù)據(jù)文件的網(wǎng)站模板(110)相關(guān)聯(lián)的文件。
15.如權(quán)利要求18所述的方法,其特征在于,還包括使用虛擬方法以創(chuàng)建網(wǎng)站模板 (110)的各方面。
全文摘要
所述實(shí)施例提供了網(wǎng)站設(shè)計(jì)特征和功能,但并非僅限于此。在實(shí)施例中,計(jì)算系統(tǒng)包括能夠用于創(chuàng)作豐富的網(wǎng)站模板的設(shè)計(jì)組件。用戶可以使用和修改網(wǎng)站模板的各方面以作為用于特定網(wǎng)站或者其它用途的模型。在一個(gè)實(shí)施例中,計(jì)算系統(tǒng)包括能夠用于創(chuàng)作網(wǎng)站模板的設(shè)計(jì)組件和/或能夠用于在創(chuàng)建定制的網(wǎng)站中與網(wǎng)站模板的各方面交互并且修改網(wǎng)站模板的各方面的工作室組件。其它實(shí)施例是可用的。
文檔編號G06Q50/00GK102349089SQ201080012686
公開日2012年2月8日 申請日期2010年3月9日 優(yōu)先權(quán)日2009年3月13日
發(fā)明者B·K·莫漢 申請人:微軟公司