Bu blogumda bu konulara açıklık getirmek istiyorum. Bir önceki blogumda yazdıgım jobu install ederek başlayalım. Bu jobu bir FeatureReceiver yazarak deploy etmek en kullanıslı yoldur. SPFeatureReceiver classından türeyen bir sınıf yaratıp, bu abstract sınıfın metodlarını implement ediyoruz.
class ProfileBasedReportInstaller:SPFeatureReceiver
{
const string TASK_LOGGER_JOB_NAME = "My Reporting Job"; //jobumuzun central administrationdaki joblar arasında görülecek ismi
public override void FeatureInstalled(SPFeatureReceiverProperties properties)
{
}
public override void FeatureUninstalling(SPFeatureReceiverProperties properties)
{
}
public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
SPWeb web = properties.Feature.Parent as SPWeb;
// make sure the job isn't already registered
foreach (SPJobDefinition job in web.Site.WebApplication.JobDefinitions)
{
if (job.Name == TASK_LOGGER_JOB_NAME)
job.Delete();
}
// install the job
DailyProfileBasedRatingReportJobDefinition myjob = new DailyProfileBasedRatingReportJobDefinition(TASK_LOGGER_JOB_NAME, web.Site.WebApplication); //jobumuzdan bir instance yaratıyoruz
//jobumuzun çalısacağı zamanları set ediyoruz
SPMinuteSchedule schedule = new SPMinuteSchedule();
schedule.BeginSecond = 1;
schedule.EndSecond = 59;
schedule.Interval = 1;
myjob.Schedule = schedule;
myjob.Update();
}
İşte jobumuz için bu featureReceiver ı yazdıktan sonra yapmamız gereken iş C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES klasöründe yeni bir folder olusturarak feature.xml imizi içine koymak.
Feature.xml imizin içinde feature ımızın receiver classını ve receiver Assemblysini yazmamız yeterli olacaktır.
Örnek feature.xml için kendi feature.xml imin içeriğini aşağıya kopyalıyorum.
daha sonrasında yapacagınız iş stsadm ile feature ınızı install etmek ve portalinize gidip feature ınızı aktive etmek.
İşte bir sharepoint jobu yaratmak ve install etmek bu kadar kolay. Bir sonraki blogumda FeatureReceiver'ın FeatureDeactivating metodunda install ettiğimiz jobu uninstall eden kodu yazacağız.
Bir sonraki blogda görüşmek üzere..
Emir bey çok teşekkür ederim paylaşım için çok işimi gördü
YanıtlaSilselam, feature.xml inin içeriğini kopyalayabilir misin? gözükmüyor. teşekkürler
YanıtlaSil