| Introduction |
|
1 | (8) |
|
|
|
1 | (1) |
|
What You Need to Use This Book |
|
|
2 | (1) |
|
|
|
3 | (1) |
|
|
|
4 | (1) |
|
Customer Support and Feedback |
|
|
5 | (4) |
|
|
|
5 | (1) |
|
|
|
6 | (1) |
|
|
|
6 | (3) |
| Chapter 1: Intranet Concepts |
|
9 | (12) |
|
What Do We Mean By 'Intranet'? |
|
|
9 | (1) |
|
Intranets - A Quick History |
|
|
10 | (1) |
|
|
|
10 | (2) |
|
Centralization of Information |
|
|
11 | (1) |
|
Decentralization of Information Ownership |
|
|
11 | (1) |
|
|
|
11 | (1) |
|
|
|
12 | (1) |
|
Building An Intranet With ASP.NET |
|
|
12 | (7) |
|
Differences Between Intranet and Internet Development |
|
|
13 | (1) |
|
|
|
13 | (1) |
|
|
|
13 | (1) |
|
Usability and Presentation |
|
|
13 | (1) |
|
|
|
13 | (1) |
|
It's Harder To See Examples of Intranets |
|
|
14 | (1) |
|
Challenges Of Intranet Development |
|
|
14 | (2) |
|
Standards & Requirements Management |
|
|
14 | (1) |
|
|
|
15 | (1) |
|
|
|
15 | (1) |
|
Requirements For A Good Intranet |
|
|
16 | (1) |
|
|
|
16 | (1) |
|
|
|
16 | (1) |
|
|
|
16 | (1) |
|
|
|
17 | (1) |
|
|
|
17 | (5) |
|
|
|
17 | (1) |
|
|
|
17 | (1) |
|
|
|
17 | (1) |
|
Human Resources Information System |
|
|
18 | (1) |
|
|
|
18 | (1) |
|
|
|
19 | (1) |
|
|
|
19 | (1) |
|
|
|
19 | (1) |
|
|
|
19 | (2) |
| Chapter 2: The IBuySpy Portal Architecture |
|
21 | (32) |
|
Why use an existing architecture? |
|
|
21 | (1) |
|
What does the IBuySpy Portal Architecture provide? |
|
|
22 | (9) |
|
Installing the IBuySpy Portal Architecture |
|
|
23 | (2) |
|
IBuySpy Portal Acclimatization |
|
|
25 | (2) |
|
|
|
26 | (1) |
|
|
|
27 | (1) |
|
Addressing our Objectives |
|
|
27 | (1) |
|
|
|
28 | (1) |
|
|
|
28 | (1) |
|
|
|
29 | (2) |
|
A Technical Look at the IBuySpy Portal Architecture |
|
|
31 | (18) |
|
|
|
33 | (1) |
|
Keeping Track of Things: the PortalSettings Class |
|
|
34 | (3) |
|
DesktopDefault.aspx Architecture |
|
|
37 | (3) |
|
Tabs and the DesktopPortalBanner.ascx Control |
|
|
40 | (2) |
|
|
|
42 | (12) |
|
|
|
42 | (2) |
|
|
|
44 | (1) |
|
|
|
45 | (4) |
|
|
|
49 | (1) |
|
|
|
50 | (3) |
| Chapter 3: Customizing the Portal |
|
53 | (56) |
|
|
|
54 | (1) |
|
Customizing the Stylesheet |
|
|
54 | (13) |
|
|
|
57 | (10) |
|
|
|
66 | (1) |
|
Customizing the Portal Code |
|
|
67 | (14) |
|
Customizing the PortalBanner.ascx Control |
|
|
68 | (4) |
|
Customizing the Layout of the Portal Pages |
|
|
72 | (9) |
|
Adding a Pane to DesktopDefault.aspx |
|
|
76 | (5) |
|
|
|
81 | (26) |
|
|
|
81 | (29) |
|
|
|
82 | (1) |
|
|
|
83 | (3) |
|
|
|
86 | (6) |
|
|
|
92 | (3) |
|
|
|
95 | (9) |
|
Integrating with the Portal |
|
|
104 | (1) |
|
Adding Data and Viewing Results |
|
|
104 | (3) |
|
|
|
107 | (2) |
| Chapter 4: Security in the Intranet |
|
109 | (40) |
|
The Importance of Security |
|
|
109 | (1) |
|
An Overview Of IBuySpy Security |
|
|
110 | (6) |
|
Viewing And Editing Permissions |
|
|
110 | (1) |
|
|
|
111 | (1) |
|
|
|
111 | (1) |
|
|
|
111 | (1) |
|
Users And Roles In IBuySpy |
|
|
111 | (5) |
|
|
|
114 | (2) |
|
|
|
116 | (15) |
|
|
|
117 | (2) |
|
How Forms Authentication Works |
|
|
117 | (1) |
|
Limitations 0f Forms Authentication |
|
|
118 | (1) |
|
Setting Up Forms Authentication |
|
|
119 | (1) |
|
Forms Authentication in the IBuySpy Portal |
|
|
119 | (3) |
|
|
|
122 | (5) |
|
How Windows Authentication Works |
|
|
122 | (1) |
|
Types of Windows Authentication |
|
|
122 | (3) |
|
Setting up the IBuySpy Architecture for Windows Authentication |
|
|
125 | (2) |
|
Storing Roles and Creating Authentication Tickets |
|
|
127 | (4) |
|
|
|
131 | (14) |
|
|
|
131 | (1) |
|
|
|
132 | (18) |
|
Foundations For The Security Checks |
|
|
133 | (3) |
|
|
|
136 | (5) |
|
|
|
141 | (4) |
|
|
|
145 | (4) |
| Chapter 5: The Discussions Module |
|
149 | (68) |
|
What Is The Purpose Of Forums? |
|
|
149 | (1) |
|
The IBuySpy Discussion Module |
|
|
150 | (64) |
|
What the Module Comprises |
|
|
151 | (1) |
|
Data Layer - The Discussion Table & the Stored Procedures |
|
|
152 | (22) |
|
Selecting Top Level Thread Messages |
|
|
156 | (1) |
|
|
|
157 | (1) |
|
Selecting Individual Messages |
|
|
158 | (2) |
|
|
|
160 | (1) |
|
Squeezing a Little More Out of the Data Layer |
|
|
161 | (13) |
|
Business Layer - The DiscussionDB Class |
|
|
174 | (6) |
|
Squeezing a Little More Out of DiscussionDB |
|
|
175 | (5) |
|
Presentation Layer - The Discussion.ascx User Control |
|
|
180 | (6) |
|
Creating the Display Hierarchy - The Indent Field |
|
|
185 | (1) |
|
Discussion,ascx,vb - The Codebehind Class |
|
|
186 | (8) |
|
Squeezing a Little More Out of Discussion.ascx |
|
|
190 | (4) |
|
DiscussDetails.aspx - The Display and Edit Page |
|
|
194 | (1) |
|
DiscussDetails,aspx,vb - The Codebehind Class |
|
|
195 | (23) |
|
Squeezing a Little More Out of DiscussDetails,aspx |
|
|
201 | (13) |
|
|
|
214 | (1) |
|
|
|
215 | (2) |
| Chapter 6: Extending The Events Module |
|
217 | (32) |
|
|
|
217 | (1) |
|
|
|
218 | (5) |
|
|
|
219 | (4) |
|
|
|
219 | (1) |
|
|
|
220 | (1) |
|
|
|
221 | (1) |
|
|
|
221 | (1) |
|
|
|
222 | (1) |
|
up_Events GetMonthlyEvents |
|
|
222 | (1) |
|
|
|
223 | (5) |
|
|
|
224 | (2) |
|
The GetMonthlyEvents Method |
|
|
226 | (2) |
|
|
|
228 | (18) |
|
|
|
228 | (9) |
|
|
|
237 | (13) |
|
Using the Calendar Control |
|
|
238 | (1) |
|
Defining Custom Templates |
|
|
238 | (5) |
|
Event Handlers for Calendar Control |
|
|
243 | (2) |
|
|
|
245 | (1) |
|
|
|
246 | (1) |
|
|
|
246 | (1) |
|
|
|
247 | (2) |
| Chapter 7: Content Management |
|
249 | (42) |
|
Features of a Content Management System |
|
|
250 | (1) |
|
|
|
250 | (1) |
|
|
|
250 | (1) |
|
|
|
250 | (1) |
|
|
|
250 | (1) |
|
|
|
251 | (1) |
|
|
|
251 | (1) |
|
|
|
251 | (1) |
|
|
|
251 | (1) |
|
|
|
252 | (3) |
|
|
|
252 | (3) |
|
|
|
255 | (4) |
|
|
|
256 | (1) |
|
|
|
256 | (1) |
|
The AddRelatedContent Method |
|
|
257 | (2) |
|
|
|
259 | (27) |
|
|
|
259 | (6) |
|
Content Module Title User Control |
|
|
259 | (4) |
|
Content Action Tabs User Control |
|
|
263 | (2) |
|
Displaying Content Summaries |
|
|
265 | (3) |
|
DisplayContentSummary.ascx |
|
|
265 | (3) |
|
Displaying a Selected Content Item |
|
|
268 | (2) |
|
|
|
270 | (10) |
|
|
|
271 | (1) |
|
Developing the Rich Text Editor Server Control |
|
|
272 | (5) |
|
Content Publishing and Editing |
|
|
277 | (2) |
|
Assigning the Related Content |
|
|
279 | (1) |
|
Viewing the Related Content |
|
|
280 | (2) |
|
Deleting the existing content |
|
|
282 | (2) |
|
|
|
284 | (1) |
|
|
|
285 | (1) |
|
|
|
286 | (3) |
|
|
|
289 | (2) |
| Chapter 8: Document Management |
|
291 | (66) |
|
What Is Document Management? |
|
|
291 | (2) |
|
Requirements for a Document Management Application |
|
|
293 | (1) |
|
Looking to the IBuySpy Documents Module for Guidance |
|
|
294 | (1) |
|
|
|
294 | (63) |
|
Arranging the Project Files |
|
|
295 | (1) |
|
|
|
295 | (17) |
|
A Different Approach to Traditional File Storage |
|
|
295 | (1) |
|
|
|
296 | (2) |
|
The Wrox Docs Versions Table |
|
|
298 | (1) |
|
|
|
298 | (1) |
|
|
|
299 | (1) |
|
|
|
300 | (1) |
|
Coding the Stored Procedures |
|
|
301 | (9) |
|
Creating Triggers to Enable Auditing |
|
|
310 | (2) |
|
Designing the Business Layer |
|
|
312 | (5) |
|
|
|
312 | (3) |
|
|
|
315 | (1) |
|
The WroxDocSecurity Class |
|
|
315 | (2) |
|
Creating the Presentation Layer |
|
|
317 | (34) |
|
|
|
317 | (1) |
|
|
|
317 | (1) |
|
Coding the Upload and Edit Process |
|
|
318 | (12) |
|
Coding the Display and Select Process |
|
|
330 | (13) |
|
Rendering the File in the User's Browser |
|
|
343 | (1) |
|
Coding the Check in and out Process |
|
|
344 | (4) |
|
|
|
348 | (2) |
|
Adding the compact DisplaySummary.ascx User Control |
|
|
350 | (1) |
|
Plugging the Application into IBuySpy |
|
|
351 | (3) |
|
|
|
354 | (3) |
| Chapter 9: Human Resources Information System |
|
357 | (78) |
|
|
|
357 | (1) |
|
Building an Employee Information Module for Our Intranet |
|
|
358 | (66) |
|
|
|
361 | (16) |
|
|
|
361 | (2) |
|
|
|
363 | (14) |
|
|
|
377 | (14) |
|
|
|
378 | (13) |
|
|
|
391 | (33) |
|
|
|
391 | (24) |
|
HrisEmployeesDisplaySummary.ascx |
|
|
415 | (4) |
|
HrisEmployeesDisplaySearchResults.ascx |
|
|
419 | (5) |
|
Adding the HRIS to the Intranet |
|
|
424 | (7) |
|
Configuring the Human Resources Information System |
|
|
425 | (6) |
|
|
|
425 | (1) |
|
|
|
426 | (5) |
|
Ideas on the Extension of the HRIS Application |
|
|
431 | (1) |
|
|
|
431 | (1) |
|
An Employee Skills Database |
|
|
432 | (1) |
|
Expanding the Employee Information |
|
|
432 | (1) |
|
Create a Training Database |
|
|
432 | (1) |
|
|
|
432 | (1) |
|
|
|
432 | (3) |
| Appendix A : Common Data Access Class |
|
435 | (8) |
|
|
|
435 | (8) |
|
|
|
436 | (1) |
|
Exposing The Connection String |
|
|
437 | (1) |
|
Running Stored Procedures |
|
|
437 | (6) |
|
Why Abstract Stored Procedure Execution? |
|
|
437 | (2) |
|
The Methods For Executing Stored Procedures |
|
|
439 | (1) |
|
|
|
440 | (1) |
|
A Problem With The Database class |
|
|
441 | (2) |
| Index |
|
443 | |